gpt4 book ai didi

gtk - 我在 glade gtkbuilder 和连接信号中遗漏了一些明显的东西。帮助?

转载 作者:行者123 更新时间:2023-12-05 01:21:47 26 4
gpt4 key购买 nike

我用 glade 制作我的界面。效果很好。我编写了一个很小的主函数,它调用 gtkbuilder 并在 glade 文件中呈现所有内容。

Gtk::Main kit(num, opts);
// Load the GtkBuilder file and instantiate its widgets:
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("dsg.glade", "mainwindow");

效果更好。然后我得到我的小部件

Gtk::Button *sf = 0;
builder->get_widget("button", sf);

现在呢?我发现连接信号处理程序的每个示例都不是由 gtkbuilder 构建的。如果您实例化自己的类来表示/处理/呈现按钮,则很容易将信号处理程序连接到它,但我使用的是 gtkbuilder,但我不知道如何编写一个可以附加到我的小部件的函数,因为我不是创建按钮对象的人,所以 gtkbuilder 是。

我是否让 gtkbutton 的子类编写我的函数然后指向它?但是我的类没有被 gtkbuilder 实例化。

我只是不明白。帮忙?

最佳答案

您没有遗漏任何明显的东西。似乎 gtkmm 没有提供 gtk_builder_connect_signals() 函数的 C++ 版本,这是你在 C 中的做法。我做了一些谷歌搜索,但我无法弄清楚为什么他们会遗漏它。

您可以像这样直接访问 C 函数:

Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("dsg.glade", "mainwindow");
gtk_builder_connect_signals(builder->gobj(), callback_data);

关于gtk - 我在 glade gtkbuilder 和连接信号中遗漏了一些明显的东西。帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4098636/

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