0
我希望这个脚本不起作用:GTK3和Python:为什么set_property延迟?
import gi
import time
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class GridWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="hi")
def fnButton1(self):
button1.set_property("label", "TEST")
print("hello")
time.sleep(3)
print("you")
grid = Gtk.Grid()
button1 = Gtk.Button(label="Button 1")
button1.connect("clicked", fnButton1)
button2 = Gtk.Button(label="Button 2")
grid.add(button1)
grid.attach(button2, 1, 0, 1, 1)
self.add(grid)
win = GridWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
当点击按钮1,它的标签没有改变,但“你好”被打印出来。这只发生在3秒钟之后:标签变成“TEST”并且“你”被打印。当函数fnButton1()完成时,似乎属性发生了变化,而不是在那之前。为什么?而且如何解决这个问题?
我只是想在一些函数的开始处更改一些小部件属性,它以按钮单击开始。编程时这会很正常,不是吗?为什么GTK3(使用Python)的行为有所不同?
可能重复的[Gtk小部件显示与延迟](https://stackoverflow.com/questions/24272293/gtk-widget-shows-up-with-delay) –