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

Posted

技术标签:

【中文标题】如何使用 Gtkmm 添加对按钮的响应【英文标题】:How to add a response to a button with Gtkmm 【发布时间】:2016-12-19 13:38:22 【问题描述】:

我正在尝试在 Gtk::Dialog 中添加对按钮的响应,但我不知道为什么它不起作用我尝试输入:

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

所以如果你知道如何解决这个问题,那对我会很有帮助。

谢谢。

【问题讨论】:

【参考方案1】:

使用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;
);

【讨论】:

以上是关于如何使用 Gtkmm 添加对按钮的响应的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中带有 Gtkmm 的 ProgressBar

无论如何将参数传递给按下 Gtkmm 按钮时调用的方法?

如何使用 GTKMM 进行 GET 请求

GTKMM/C++11:如何从其他小部件中创建自定义复合小部件?

如何在 gtkmm 的另一个线程中运行函数?

gtkmm:将容器小部件(Box)中的元素堆叠在一起