我是一个用wxPython/Python开发应用程序的新程序员。我得到的按钮事件不一致的结果如下。你知道吗
def OnButton1Button(self, event):
self.textCtrl9.AppendText(" 1st instance\n")
time.sleep(5)
self.textCtrl9.AppendText(" 2nd instance\n")
它应该打印1st instance
,然后在5秒延迟后再次打印2nd instance
。这在Windows操作系统中运行得很好,但在Linux中,按下按钮延迟5秒后,我一次(同时)得到两个1st instance
&;2nd instance
。你知道吗
我真的很困惑。有人能给我建议一些解决办法吗。你知道吗
提前谢谢。你知道吗
这应该使用
wx.Timer
来完成。你知道吗假设您的主要目标是在5秒后更新GUI,那么将第二个
AppendText
放在函数中,并将其设置为使用wx定时器. 这样,您的GUI在5秒的延迟期间仍然会有响应。你知道吗将对
time.sleep()
的调用放在GUI的事件处理程序中,从而放在主线程中,会让您头痛不已。你知道吗另一方面,如果您真的希望GUI在这5秒钟内没有响应,那么应该显式地执行此操作,比如对窗口使用
Enable(False)
,然后在这5秒钟结束时再次使用计时器调用Enable(True)
。这样,它将向用户指示GUI处于非活动状态。你知道吗相关问题 更多 >
编程相关推荐