【发布时间】:2021-02-26 08:36:45
【问题描述】:
[更新:我在下面回答并解释得更好]
测试用例——这将创建一个按钮和一个标签。单击按钮后,我希望标签文本立即更改为“11”,两秒钟后更改为“22”。然而,虽然print(self.msg.get_text()) 会立即打印出预期的结果,但标签直到超时后才会更新。
#!/usr/bin/python
import gi, time
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="test")
self.grid = Gtk.Grid()
self.add(self.grid)
self.grid.set_border_width(10)
self.button = Gtk.Button.new_with_label("change label")
self.button.connect("clicked", self.change_label)
self.grid.attach(self.button, 0, 0, 1, 1)
self.label = Gtk.Label(label = '00')
self.grid.attach(self.label, 0, 1, 1, 1)
def change_label(self, button):
self.label.set_text('11')
print(self.label.get_text())
time.sleep(2)
self.label.set_text('22')
win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
【问题讨论】:
标签: python user-interface gtk pygtk