Connect to Gtk::Window signal_delete_event
Connect to Gtk::Window signal_delete_event
我想连接一个信号到窗口。Signal_delete_event,但它失败,并显示以下错误消息:
- 没有匹配调用' (sigc::bound_mem_functor0) (_GdkEventAny* const&) ' OpticalInput
- 返回带有值的语句,在函数中返回'void' [-fpermissive]
- 无效值没有被忽略,因为它应该是
这是导致错误的代码行:
window.signal_delete_event().connect(sigc::mem_fun(this,&GUIWindow::onExitClicked));
指向成员函数是这样的:
void GUIWindow::onExitClicked()
{
*state = false;
Gtk::Main::quit();
}
有什么办法解决这个问题吗?
您的方法必须匹配信号的签名。在signal_delete_event()
的gtkmm文档中,给出了以下原型:
bool on_my_delete_event(GdkEventAny* event)
使用您的命名,方法必须定义如下:
bool GUIWindow::onExitClicked(GdkEventAny* event) { ... }
返回值用于指示是否完全处理了事件。如果您返回true,则此事件的其他处理程序将看不到它。
相关文章:
- 运算符C++ "delete []"仅删除 2 个前值
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- g++用户定义的动态链接库上的全局new和delete运算符
- 为什么"delete"关键字不删除节点?
- "delete"在 C++ 中实际上做了什么?
- 析构函数和'delete'之间的区别
- 如何知道何时调用删除以及何时调用 delete[] C++?
- 在对象指针上调用 Delete 是否会递归删除其动态分配的成员
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- 析构函数中的"delete this"
- 为什么数组大小信息可用于"sizeof"运算符和 delete[] 运算符,但在将数组作为参数传递到
- 即使在使用 delete[] 后仍保留的元素
- 如果我在下面的代码片段中添加"delete[] d;",为什么我得到零?
- C++原始指针和"delete"
- 为什么 std::vector 使用 std::分配器而不是运算符 new 和 delete?
- 重载 new 和 delete 会导致 valgrind 错误
- 为什么"delete"操作员给我访问权限冲突
- 析构函数是否会自动调用 delete[] C++?
- C++"::delete"的目的是什么?
- 使用 delete [] 运算符取消分配类中数据成员的内存