0

你好朋友和同事,

我正在尝试在 pyt4 上为我的程序创建一个功能 - 软电话应该确定网络计算机的状态。

如果网络失去了与 Internet 的连接,程序应该等到网络恢复并立即重新启动我的应用程序的核心,该应用程序自行连接到服务器

重新启动核心是通过“重新加载”方法完成的。

但我也想做跨平台

Windows、Linux、达尔文、

我发现类似于此链接的内容:http ://www.themacaque.com/?p=751

重载方法:

def reload(self):
    self.config = ConfigParser.RawConfigParser()
    self.config.readfp(getConfig())
    self.tray.setIcon(self.inactiveIcon)
    self.controller.core.restart_core()
4

1 回答 1

2

您展示的示例正在尝试使用本机实现,因为它的编写不依赖于 Qt4(我是该帖子的作者)。如果您在所有平台上使用 PyQt4 都没有问题,您应该考虑使用您可以在QNetworkAccessManager中找到的networkAccessibleChanged信号。

如果这是不可能的,您将不得不根据您工作的平台编写要使用的同一接口的不同实现,例如:

  • Windows:使用我在博客上发布的代码。
  • Linux:您可以使用 NETworkManager 必须通知您连接状态的 DBus 信号。
  • Mac OS X:SystemConfiguration 框架作为一组类似的信号来告诉您连接的状态。

如果您的软件是开源的,并且您不关心/介意 canonical 拥有代码的版权,您可以在此处查看我们为 Ubuntu One 编写的实现。

于 2012-10-15T08:45:33.923 回答