5
我原來的程序中使用input
,像這樣:停止Python程序,直到用戶執行一個動作
n = input("Enter your favorite number: ")
# do stuff with number
現在,我已經切換到GTK圖形用戶界面,但仍想完成同樣的事情。現在看這個非常相似的一段代碼:
n = myWindow.getNumber()
# do stuff with number
是否可以寫一個getNumber()
方法,只有用戶後返回按下窗口提交按鈕? (如在input
功能是如何工作的),或者這是我唯一的選擇:
def callback(widget, event):
n = myWindow.inputWidget.getValue()
# do stuff with number
n = myWindow.getNumber(callback)
更新:我要做到這一點沒有gtk.Dialog,因爲我不想要一個對話框每次彈出千萬用戶輸入是必需的。
謝謝,但模態對話框只是阻止用戶與對話框外的任何小部件進行交互。 – 2011-05-25 18:24:53
@Sam:據我所知,gtk.Dialog的run方法確實阻塞了程序,只有在得到響應時纔會返回(不需要回調)。子類化gtk.Dialog可能是你需要的。 – 2011-05-25 21:01:28
@Jong,我認爲你是對的。 – 2011-05-25 23:40:15