2016-08-02 32 views
-1

Ich möchte ein Raster in einem Vollbild-Fenster legen. Labels, Einstiegsleisten und die Schaltfläche sind die Widgets, die im Raster angehängt sind. Ich möchte die Größe des Rasters auf etwa 350, 200 begrenzen und in der Mitte des Bildschirms platzieren. Ich habe versucht, height-request und width-request zu verwenden, aber sie funktionieren nicht. Builder.ui sieht wie folgt aus:GTK: Legen Sie die Größe eines Gitters in C

<object id="grid" class="GtkGrid"> 
    <property name="visible">True</property> 
    <property name="row-spacing">30</property> 
    <property name="column-spacing">20</property> 
    <property name="column-homogeneous">True</property> 
    <property name="width-request">350</property> 
    <property name="height-request">200</property> 

Aber zur Zeit mein Fenster sieht folgendermaßen aus: enter image description here Kann jemand bitte helfen?

Antwort

0

Ich nehme an, das Raster ist das unmittelbare Kind des Fensters. In Ihrem Fall ist das Ändern der Größe des Rasters nicht das, was Sie wollen. Stattdessen möchten Sie die alignment of the grid in its parent from GTK_ALIGN_FILL to GTK_ALIGN_CENTER in both the horizontal and vertical directions ändern.

In Glade können Sie dies am unteren Rand der Registerkarte "Allgemein" für das Raster tun.

Wenn dies nicht funktioniert, versuchen Sie das Gitter in einer anderen Behälter setzen, wie ein GtkBox und dann machen, die das Kind des Fensters, und dann den hexpand und vexpand beide TRUE (an der gleichen Stelle des Grids machen in der Lichtung).

+0

Danke! Ich habe die erste Methode benutzt und es hat perfekt funktioniert! – alsjinus