两者都创建 Gtk 窗口,但我无法真正理解幕后发生的事情。我尝试将信号绑定到按钮以退出窗口,但程序在使用Gtk::Application::create
. 当我更改程序以遵循Gtk::Main
约定时。一切正常。
Gtk::Application::create
程序(无法工作):
auto app = Gtk::Application::create(argc, argv);
Gtk::Button *button = new Gtk::Button("Quit");
button->signal_clicked().connect(sigc::ptr_fun(Gtk::Main::quit));
Gtk::Window window;
window.set_default_size(200, 200);
window.add(*button);
button->show();
return app->run(window);
Gtk::Main
程序(作品):
auto app = Gtk::Main(argc, argv);
Gtk::Button *button = new Gtk::Button("Quit");
button->signal_clicked().connect(sigc::ptr_fun(app.quit));
Gtk::Window window;
window.set_default_size(200, 200);
window.add(*button);
button->show();
app.run(window);
return 0;