wxPython在继续之前等待对话响应

2024-05-29 02:57:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个对话框,要求用户点击一个按钮来继续(例如“你确定要这么做吗?”)并使用侦听器等待响应

from wx.lib.pubsub import pub  
...  
pub.subscribe(self.my_listener, "my_listener")

以及在单击响应后设置变量的函数。在

^{pr2}$

我的代码主体如下所示:

self.proceed = False       # Make sure it's false initially
launch_verify_dialog()     # Launch the dialog
if self.proceed:
    # DO STUFF
else:
    print 'NARF!'

现在,问题是当它运行时,代码会通过自行进行if语句并打印“NARF!”在我有机会回应对话之前。为什么会发生这种情况?在继续之前如何等待对对话框的响应?在

我尝试在if语句前面放置一个循环以等待响应,但这只会使程序崩溃,并且我已经验证了侦听器是否正常工作并设置了自行进行变量正确。在

谢谢!!在


Tags: 代码用户fromselfifmy语句按钮
1条回答
网友
1楼 · 发布于 2024-05-29 02:57:05

使用对话框而不是框架并使用dlg.ShowModal()

或者你只是想问一个简单的是/否问题

if wx.MessageBox("Are You Sure?","Checking",wx.YES_NO) == wx.YES:
   print ("User Clicked Yes")
else:
   print ("User did not click yes (clicked No or closed)")

如果你需要更复杂的东西

^{pr2}$

相关问题 更多 >

    热门问题