如何使用GTKMM添加对按钮的响应

How to add a response to a button with Gtkmm

本文关键字:按钮 响应 添加 何使用 GTKMM      更新时间:2023-10-16

我正在尝试对GTK ::对话框中的按钮添加响应

button_quit(Gtk::Stock::QUIT, Gtk::RESPONSE_CLOSE)

但它行不通。另外,我尝试使用这样的另一种方式:

button_quit.signal_clicked().connect([]() {Gtk::Main::quit();});  

但是当我单击按钮时,我有一个错误:

(code:7199): Gtk-CRITICAL **: gtk_main_quit: assertion 'main_loops != NULL' failed

因此,如果您知道如何解决这个问题,它将对我很有帮助。

谢谢。

使用add_button。

Gtk::Dialog dialog;
auto button = dialog.add_button("Ok", Gtk::RESPONSE_CLOSE);
dialog.signal_response().connect([&](int response_id)
{
    std::cout<<response_id<<std::endl;
});