gtkmm:从其他线程更新 gui?
我正在使用 gtkmm (和 glibmm),并且我想从另一个线程更新 GUI。 上的示例进行操作
我已按照http : //www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/thread_2dispatcher_8cc-example.html#_a1
但我有 2 个问题:
而不是 Glib::MainLoop 接收事件, Gtk::Main (运行我的窗口)是否可以接受信号?
我可以以某种方式使用带参数的 .connect() 函数吗? 我知道可以使用 SigCX,但我认为语法有点令人讨厌。
谢谢!
I am using gtkmm (and glibmm), and I would like to update the GUI from another thread. I have followed the example on
http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/thread_2dispatcher_8cc-example.html#_a1
but I have 2 questions:
Instead of a Glib::MainLoop receiving the events, is it possible for a Gtk::Main (that runs my window) to accept signals?
Can I .connect() functions with arguments in some way? I know it is possible using SigCX but I thought the syntax there was a bit nasty.
THanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以让 Glib::MainLoop 接收事件,然后将其分派给 Gtk::Main。
我相信连接自定义参数的唯一方法是使用 sigc::bind。
例如,假设您想传递一个整数以及指向相关小部件的指针:
You could have your Glib::MainLoop receive the events, then dispatch it to Gtk::Main.
I believe the only way to connect with custom arguments is to use sigc::bind.
For example, say you wanted to pass in an integer, as well as a pointer to the widget in question: