gpt4 book ai didi

c++ - 如何在 Gtk 套接字中嵌入 Gtk::Plug?

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:10 25 4
gpt4 key购买 nike

我有我的窗口。在这个窗口中,我想要两个按钮。一个是插头,另一个是正常的。

我做了以下

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"};
}

main.cc

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 实例?

最佳答案

写在documentation :

The GtkSocket must have already be added into a toplevel window before you can make this call.

所以你的代码应该是:

window.add(box);
socket.add_id(plug.id);

关于c++ - 如何在 Gtk 套接字中嵌入 Gtk::Plug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54592678/

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