2013-09-28 3 views
3

GtkGrid이 포함 된 GtkWindowGtkLabel을 포함하지만 창을 확장하면 확장되지 않습니다. 그리드를 수평으로 확장하고 싶습니다. 그리드의 작동 방식을Python3, Gtk3 - GtkGrid 확장

label.set_halign(Gtk.Align.END) 

내가 오해하고 있는가 :

grid.set_hexpand(True) #No result 
grid.expand = True  #No result 

가장 오른쪽 열의 GtkLabel

바로 그래서 확장 여부되고있어 만약 내가 정확하게 볼 수 정렬로 설정? 당신이 GtkGrid 수평으로 확장합니다

+0

레이블을 확장하도록 설정 했습니까? 컨테이너 위젯은 자식 크기 요구 사항을 묻고 자체 위젯뿐만 아니라 자식 위젯 크기를 할당합니다. – drahnr

+0

예, 문제가 된 것으로 보입니다. 그리드를 확장하여 내용을 채울 수있는 방법이 없다는 것은 여전히 ​​이상한 일입니다. –

+0

gird 자체의 "expand"속성은 grid-parent rlationship이있는 격자에 사용되며 _all_ widgets (컨테이너로 제한되지 않음)에 대한 개념은 유지됩니다. – drahnr

답변

3

(A GtkTable 아마도 GtkGrid하지 않습니다과 하위 요소가 확장 설정되는?의에 의존, 열 집합의 양을했다), 당신은 hexpandhexpand-set 속성을 설정해야합니다 위젯 가운데 이 포함되어 있습니다.

그냥 gtk_widget_set_hexpand 방법은 자동으로 두 속성을 설정

label.set_hexpand(True) 

사용합니다.

+0

기본적으로 주석에 포함 된 내용은 다음과 같습니다. 그냥 propogate 확장 또는 무언가를 역전시킬 수있는 방법이 있기를 바랬습니까 (그리드가 확장되도록 설정하고 채우기로 설정된 어린이) –

+0

@JV [' "add"'] (https://developer.gnome.org/gtk3) /stable/GtkContainer.html#GtkContainer-add)'GtkGrid' ('GtkContainer') 신호를 추가 한 모든 자식의'hexpand' 속성에 추가하면, 예상 한 효과가 있다고 생각합니다. – OdraEncoded