【发布时间】:2013-09-01 01:07:20
【问题描述】:
我使用的是 gtkmm 3.0.1,在用户单击按钮后创建 Gtk::MessageDialog 对象以销毁对话框时,我没有看到选项。我发现销毁消息对话框的唯一方法是在辅助函数中调用它,但我觉得这有可能避免。文档没有提到销毁它的方法,只提到由用户来销毁它。
这是我的代码:
#include <gtkmm.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
Gtk::Main kit(argc, argv);
Gtk::Window client;
Gtk::MessageDialog dialog("Info", false, Gtk::MESSAGE_QUESTION, Gtk::BUTTONS_YES_NO);
dialog.set_secondary_text( "Dialog");
dialog.set_default_response(Gtk::RESPONSE_YES);
dialog.run();
cout << "dialog is still open, needs to be destroyed at this point." << endl;
Gtk::Main::run(client);
return EXIT_SUCCESS;
}
【问题讨论】:
-
我猜:由于没有调用 Gtk::Main::run(client),所以对话框没有接收到事件。
-
什么意思?
Gtk::Main::run(client);位于倒数第二个命令。 -
... 在 Gtk::MessageDialog 之后
-
..这只是让对话框在用户退出主窗口后出现。
标签: c++ messagebox gtkmm