如何在GTK(python 3,Gio)应用程序中侦听DBus信号?

如何在GTK(python 3,Gio)应用程序中侦听DBus信号?,python,linux,gtk,gio,networkmanager,Python,Linux,Gtk,Gio,Networkmanager,我正在尝试使我的GTK应用程序响应网络连接状态的更改。我的方法就是我在问题中所说的:监听(NetworkManager)DBus信号 我有一个python3gtk应用程序(我应该添加一个非常小的应用程序),使用pythongi。 据我所知,pythondbus(也称为“importdbus”)已被弃用,因此我希望通过pythongi使用Gio 我有一个旧的脚本,它在系统DBus上侦听我感兴趣的信号,该系统DBus使用“import DBus”和以下代码: dbus.mainloop.glib.D

我正在尝试使我的GTK应用程序响应网络连接状态的更改。我的方法就是我在问题中所说的:监听(NetworkManager)DBus信号

我有一个python3gtk应用程序(我应该添加一个非常小的应用程序),使用pythongi。 据我所知,pythondbus(也称为“importdbus”)已被弃用,因此我希望通过pythongi使用Gio

我有一个旧的脚本,它在系统DBus上侦听我感兴趣的信号,该系统DBus使用“import DBus”和以下代码:

dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()
bus.add_signal_receiver(NMSignalHandler,
                        dbus_interface=NM_INTERFACE,
                        signal_name='StateChanged')
(后跟一个gobject.MainLoop().run())

我认为这将是相对简单的“端口”到新闻局,但即使在两个小时的文件阅读后,我不知道如何做到这一点。 任何帮助都将不胜感激

我已经尝试使用Gio.NetworkMonitor.get_default()及其“network changed”信号,但它似乎报告netu available(第二个参数)始终为true,并且默认监视器似乎也报告不出合理的结果

我将非常感谢任何帮助