我正在尝试使用循环创建小部件。这就是我试过的:
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)
不为空。
感谢您的帮助。
编辑:
好的,我尝试过这个简单的事情:
{{1}}
它也不起作用...... O_o
答案 0 :(得分:-1)
好的,我找到了一个解决方案,我必须这样做:
self.runways_layout = builder.get_object('runwaysGrid')
label = Gtk.Label('Coucou')
self.runways_layout.attach(label, 0, 0, 1, 1)
label.show() # Add this and it works...
但为什么?