-1
我正尝试用循环创建小部件。这是我的尝试:不能将小部件附加到我的网格
def set_runways(self, airfield):
i = 0
for rwy in airfield['Runways']:
frame = Gtk.Frame()
frame.set_label('-'.join([rwy['Runway_1'], rwy['Runway_2']]))
frame.set_shadow_type(1)
self.runways_layout.attach(frame, (i/2), (i % 2), 1, 1)
rwy_layout = Gtk.Grid()
frame.add(rwy_layout)
# Just for testing :
label = Gtk.Label('Hello, World')
rwy_layout.attach(label, 0, 0, 1, 1)
导入我runways_layout
在我__init__
与self.runways_layout = builder.get_object('runwaysGrid')
这是一个Gtk.Grid
,我打电话给我的函数self.set_runways(airfield)
后。但即使这样,我的窗口不显示Hello World
,我有一个空白窗口...为什么?
我指定我的rwy
不是空的。
感谢您的帮助。
编辑:
好吧,我想这简单的事情:
self.runways_layout = builder.get_object('runwaysGrid')
label = Gtk.Label('Coucou')
self.runways_layout.attach(label, 0, 0, 1, 1)
而且它不会太工作... O_O
这是什么意思“为什么”?从参考文件中读取show(9和show_all()方法,你会发现 – gianmt
在我的其他窗口中,我不必写'label.show()',我不明白为什么 – Wizix
show_all )如果它是一个容器,则会在所有子节点上递归调用show(),因此在主容器(通常是主窗口)上调用一次就足以显示所有小部件。 – gianmt