1
由於某些原因,對話框不會在我的程序中關閉,即使通過標準dialog.run()
調用顯示。他們顯示並返回代碼,但按鈕不會關閉它們。以下是發生這種情況的一些代碼:Vala中的對話不會關閉
//Inside constructor for my window class
load_dlg = new FileChooserDialog("Select file to open...", this,
FileChooserAction.OPEN,
Gtk.Stock.CANCEL, ResponseType.CANCEL,
Gtk.Stock.OPEN, ResponseType.ACCEPT, null);
//...
//Inside an event handler method
if(load_dlg.run() == Gtk.ResponseType.ACCEPT){
image_backend = new Pixbuf.from_file(load_dlg.get_filename()); // This works, and it's in a try clause.
而且一切都很好,只是在返回代碼後對話不會關閉。與AboutDialog
相同。不過,在Python中一切正常。
是的,它的工作。然而,我對這種行爲感到困惑,因爲在其他大多數情況下,dialog.run()都返回了代碼_and_關閉了對話窗口(Python,C++,C ...)。 – FLamparski
不在C:'gtk_dialog_run()'返回後,如果你想這樣做,你有責任隱藏或銷燬對話框。 - [GtkDialog](http://developer.gnome.org/gtk/2.24/GtkDialog.html#gtk-dialog-run) – apmasell
真的嗎?我確信'gtk_dialog_run()'處理隱藏C中的對話框。但它實際上解釋了事情,因爲Vala坐在C的頂部。謝謝! – FLamparski