Python 等待按钮按下

Python 等待按钮按下,python,pygtk,Python,Pygtk,我的问题基本上是在for循环中被问到的,我试图让每个问题在显示下一个问题之前等待回答,也就是点击一个按钮。。 我想知道如何才能做到这一点,因为我现在设置的方式是,每个问题都会一个接一个地出现,而不管回答是什么…不要把它放在for循环中,你需要将下一个问题显示为对某个事件的反应 我没有和pygtk合作过,但为了让自己有个想法,如果你有这样的想法: for question in questions: some_text_pane.set_text(question) #wait u

我的问题基本上是在for循环中被问到的,我试图让每个问题在显示下一个问题之前等待回答,也就是点击一个按钮。。 我想知道如何才能做到这一点,因为我现在设置的方式是,每个问题都会一个接一个地出现,而不管回答是什么…

不要把它放在for循环中,你需要将下一个问题显示为对某个事件的反应

我没有和pygtk合作过,但为了让自己有个想法,如果你有这样的想法:

for question in questions:
    some_text_pane.set_text(question)
    #wait until button pressed
你应该有这样的东西:

question_pool = iter(questions)
def next_question(evt):
    question = next(question_pool)
    some_text_pane.set_text(question)

some_button.set_event_handler(next_question)
当然,我不知道GTK API,所以不要按字面理解方法名称。

请注意,for循环不会让GTK主循环完成它的工作,并为预期事件调用回调方法,应用程序将无响应


一种方法是在助手对象中使用a,每页一个问题,可能的话,最后一页根据预期的回答总结问题的结果。

+1,如果问题是针对配置而不是随机提问,那么助手似乎是更好的解决方案。设置事件句柄回调将是一些按钮。连接“单击”,回调和下一个问题EVT将是下一个问题按钮。无论如何,这个解释是完全正确的。