gpt4 book ai didi

c++ - 连接到 Gtk::Window signal_delete_event

转载 作者:搜寻专家 更新时间:2023-10-31 01:10:10 25 4
gpt4 key购买 nike

我想将信号连接到 window.signal_delete_event,但失败并显示以下错误消息:

  • 不匹配调用“(sigc::bound_mem_functor0) (_GdkEventAny* const&)”OpticalInput
  • 带有值的返回语句,在返回“void”的函数中[-fpermissive]
  • void 值没有被忽略,因为它应该被忽略

这是导致错误的代码行:

window.signal_delete_event().connect(sigc::mem_fun(this,&GUIWindow::onExitClicked));

指向的成员函数是这个:

void GUIWindow::onExitClicked()
{
*state = false;
Gtk::Main::quit();
}

关于如何解决这个问题有什么想法吗?

最佳答案

您的方法必须与信号的签名匹配。在 signal_delete_event() 的 gtkmm 文档中,给出了以下原型(prototype):

bool on_my_delete_event(GdkEventAny* event)

使用您的命名,方法必须定义如下:

bool GUIWindow::onExitClicked(GdkEventAny* event) { ... }

返回值用来表示你是否已经完全处理了这个事件。如果您返回 true,则此事件的其他处理程序将看不到它。

关于c++ - 连接到 Gtk::Window signal_delete_event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16214467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com