-1

是的,我已经进行了搜索,但只发现了部分有效的东西。这似乎是一个真正的迷宫。例如:

  • 他们为什么还要使用g_main_loop_run()?当GTK+程序已经进入主循环时,真的有必要gtk_main()吗?
  • dbus_bus_request_name()调用, dbus_message_new_signal(), dbus_bus_add_match(), ...等函数时,路径、接口名称和信号名称应如何显示dbus_message_is_signal()
  • 之后应该如何在文件中正确设置名称/etc/dbus-1/system.conf以允许程序使用 D-Bus 接口?令人惊讶的是,我发现的所有教程都完全忘记提及您需要编辑它。
  • 如何异步捕获消息?应该以某种方式在单独的线程中完成吗?

请推荐任何可以帮助学习如何使用它的好的 GTK+ D-Bus 示例。

4

1 回答 1

3

gtk_main正在调用 g_main_loop_run(),您应该查看文件gtk/gtkmain.c以找出答案。

谷歌搜索dbug_bus_request_name给出了几个例子,特别是dbus-example.c

你应该阅读一个很好的gtk 教程来了解信号和槽在 Gtk 上下文中的含义。

谷歌搜索d-bus tutorial给出了这个 dbus 教程

最后,一个好主意是找到并研究相关自由软件的源代码。GtkApplication 示例正在调用 dbus 代码。

于 2012-09-21T17:37:35.430 回答