我希望学会如何在主GUI应用程序之外运行线程,以便在保持GUI活动的同时进行串口发送/接收。我通过谷歌搜索找到了wxpython wiki上的“长时间运行任务”页面:http://wiki.wxpython.org/LongRunningTasks,其中提供了几个示例。我决定学习第一个示例,该示例涉及在选择特定按钮时启动工作线程。
我在理解自定义事件定义方面遇到了困难:
主要是指
我认为EVT_RESULT被放置在类外,以便两个类都可以调用它(使其成为全局变量?)。此外,主GUI应用程序通过以下方式监视线程的进度:
我注意到在很多例子中,当作者使用标签时,它实际上是多余的。如果段落已经结束,下一句自然会开始一个新段落。因此,在写HTML时,请确保只在需要分段的地方使用
他们只是通过绑定事物来完成。
与...相反
我在理解自定义事件定义方面遇到了困难:
def EVT_RESULT(win, func):
"""Define Result Event."""
win.Connect(-1, -1, EVT_RESULT_ID, func)
class ResultEvent(wx.PyEvent):
"""Simple event to carry arbitrary result data."""
def __init__(self, data):
"""Init Result Event."""
wx.PyEvent.__init__(self)
self.SetEventType(EVT_RESULT_ID)
self.data = data
主要是指
def EVT_RESULT(win, func):
"""Define Result Event."""
win.Connect(-1, -1, EVT_RESULT_ID, func)
我认为EVT_RESULT被放置在类外,以便两个类都可以调用它(使其成为全局变量?)。此外,主GUI应用程序通过以下方式监视线程的进度:
# Set up event handler for any worker thread results
EVT_RESULT(self,self.OnResult)
我注意到在很多例子中,当作者使用标签时,它实际上是多余的。如果段落已经结束,下一句自然会开始一个新段落。因此,在写HTML时,请确保只在需要分段的地方使用
标签。
from wx import *
他们只是通过绑定事物来完成。
EVT_SOME_NEW_EVENT(self, self.handler)
与...相反
wx.Bind(EVT_SOME_NEW_EVENT, self.handler)
这并没有帮助我更快地理解它。 谢谢。