c++ - 如何在 Gtk 套接字中嵌入 Gtk::Plug?
问题描述
我有我的窗户。在这个窗口中,我想要两个按钮。一个是插头,另一个是正常的。
我执行以下操作
插件.cc
#include <gtkmm.h>
#include <gtkmm/plug.h>
class PlugButton : public Gtk::Plug{
public:
PlugButton(){add(button); id = get_id();}
int id;
Gtk::Button button{"Plug Button"};
}
主文件
Gtk::HBox box;
Gtk::Button button{"Normal Button"};
Gtk::Socket socket;// I have included gtkmm/socket.h
PlugButton plug;
box.pack_start(button);
box.pack_end(socket);
socket.add_id(plug.id);
window.add(box);
window.show_all_children();
这可以编译,但我得到
gtk_socket_add_id: assertion '_gtk_widget_get_anchored (GTK_WIDGET (socket))' failed
如何将 Gtk::Plug 的实例嵌入到套接字中?
解决方案
推荐阅读
- sql - 为顺序项目postgresql添加多个条目
- python - 与具有相同反向访问器的同一模型的一对一和一对多关系
- visual-studio - 替换字符串给出“无法找到符号“...”的定义”错误 VS2019
- python - JSON 到 Python 列表
- flutter - RangeError(index): 无效值:只有有效值是0:1(网络图片错误)
- c++ - 在派生类中继承的重载增量运算符 ++
- java - 为什么 Head First 书在将请求从 Servlet 转发到 JSP 时使用“/”?
- javascript - 所有输入值的总和
- python - Python 中的 RabbitMQ 绑定交换
- reactjs - onClick时有什么方法可以根据className显示数据