我使用紅寶石gtk2
顯示一個簡單的文件對話框,用戶可以從他的電腦中選擇一個文件。它工作得很好,但是有一個小問題。紅寶石:文件對話框不會關閉
文件對話框在選擇文件後並沒有關閉,但它保持打開狀態,直到整個腳本完成。
我的文件對話框,如下所示:
def ask_for_file(question)
dialog = Gtk::FileChooserDialog.new(question, nil,
Gtk::FileChooser::ACTION_OPEN,
"gnome-vfs",
[Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT],
[Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL]
)
if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT
file_name = dialog.filename.to_s
return file_name
else
return nil
end
end
當我把它在我的腳本是這樣的:
path = ask_for_file("Test?")
sleep(5)
puts "continue with #{path}"
文件對話框保持打開狀態,持續5秒,並在這段時間沒有反應。如何在文件被選擇後關閉它,但在5秒鐘睡眠之前?
我試圖在返回file_name
之前使用dialog.destroy
在ask_for_file
但這似乎沒有幫助。