【发布时间】:2014-03-15 11:41:02
【问题描述】:
所以我是 python 的初学者,通常使用 C/C++ 或 Java 编写代码。在开发 GUI 的过程中,我的事件在程序开始运行时不断被调用,而不是在我单击按钮时被调用。 (我知道我的缩进是错误的,因为我需要将它放入代码块中)。如何让我的事件仅在我左键单击按钮时被调用?
def __init__(self, parent, title):
super(QuadDash, self).__init__(parent, title=title, size=(1024, 780))
self.SetBackgroundColour("white")
pnl = wx.Panel(self)
cbtn = wx.Button(pnl, label='Start Quad', pos=(20,30))
self.Bind(wx.EVT_LEFT_DOWN, self.start_quad_event(), cbtn)
self.Show(True)
def start_quad_event(self):
dlg = wx.MessageDialog(self, "Test", "ABC", wx.YES_NO | wx.ICON_QUESTION)
dlg.ShowModal()
if __name__ == '__main__':
app = wx.App()
qd = QuadDash(None, title='QuadCopter Dashboard')
app.MainLoop()
【问题讨论】:
-
尝试
qd = QuadDash(None, title='QuadCopter Dashboard')而不是仅仅QuadDash(...)。我不确定您创建的对象是否真的存在,或者它的引用计数是否变为零并且被垃圾回收。 -
@ChristianAichinger 对话框仍在启动时显示
标签: python user-interface wxpython