停止Python程序,直到用户执行操作

Sam*_*ura 5 python gtk

我使用的原始程序input,如下所示:

n = input("Enter your favorite number: ")
# do stuff with number
Run Code Online (Sandbox Code Playgroud)

现在,我已经切换到GTK GUI,但仍希望完成同样的事情.现在看看这段非常相似的代码:

n = myWindow.getNumber()
# do stuff with number
Run Code Online (Sandbox Code Playgroud)

是否可以编写一个getNumber()只在用户按下窗口中的提交按钮后返回的方法?(就像input函数的工作方式一样)或者这是我唯一的选择:

def callback(widget, event):
    n = myWindow.inputWidget.getValue()
    # do stuff with number

n = myWindow.getNumber(callback)
Run Code Online (Sandbox Code Playgroud)

更新:我希望在没有gtk.Dialog的情况下执行此操作,因为我不希望每次需要用户输入时都会弹出一个对话框.

Cat*_*lus 3

您需要的是一个模式对话框。我根本不知道 GTK(或 PyGTK),但文档中似乎有一个示例。