如何在 Gtk::Layout::p ut 上使signal_add火
How to make signal_add fire on Gtk::Layout::put?
在下面的代码中:
Gtk::Layout l;
l.signal_add().connect([](Gtk::Widget* w) -> void {
std::cout << "Added " << w->get_name() << std::endl;
});
Gtk::Widget* w = // any widget
l.put(*w, 10, 10);
不显示任何内容。出于某种原因,通过布局添加会一起绕过该信号。是否有不同的信号可以连接到或确保信号添加确实被触发?
只有当你调用 Gtk::Layout::add(内部 - gtk_container_add)时,signal_add才会被触发。我刚刚检查了消息来源,似乎gtk_layout_put没有发出任何信号。但是,您可以创建自己的类,该类继承自 Gtk::Layout 类,并覆盖 put() 方法,以便它会发出信号。
相关文章:
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 如果可推导类型上有替换,可变参数模板类型推导会使编译器崩溃
- 更改高度贴图,使其在 4x4 网格上显示 16 个 hieghtmap
- 使 C++ Pi 近似在 GPU Nvidia 970M CUDA 上的 Paralell 中运行
- C++ 运算符"="重载 - 在 lhs 上获取向量中的所有值,使其等于 rhs 上的双精度值
- 为什么在同一条件变量上使用多个互斥锁会使此代码崩溃?
- 课堂上的一行,使整个应用程序坏了. 0xC000005错误
- 试图在我的服务器上使用线程
- 在数组上使用时最大堆无限循环,但不用于向量
- 如何在课堂上使用线程
- 如何在OS x上使Boost dylibs通用(i386和x86_64)?
- 为什么 sizeof 运算符在传递给方法的数组上使用时返回错误的值
- Qt 我们是否应该删除在 QNetworkAccessManager SIGNAL 上收到的 QNetworkReply
- 在取消引用的函数指针上使用时,std::is_function的求值结果为何为false
- GCC值得在Windows上使用以取代MSVC
- 在QThread上使用时,OpenMP线程仅在一个CPU上运行.(Qt,C++)
- MySQL C++ Connector 在 ResultSet->getString() 上使我的应用程序崩溃
- 如何在Code::Blocks上使能SSE/SSE2
- 如何在 Gtk::Layout::p ut 上使signal_add火
- 如何在 CRTP 中的基类上使派生类模板化