我正在开展一个项目,我想确认本地网络上是否存在主机.在Qt的QtNetwork包中,该QHostInfo::lookupHost方法是一种搜索主机的便捷方式,无需实现任何类型的ping或依赖于ping系统调用.它的异步调用可以方便地创建一个对话框,等待调用返回,在对话框或主程序中有一个槽来处理返回.
要异步查找主机的IP地址,请调用lookupHost(),它将主机名或IP地址,接收方对象和插槽签名作为参数并返回ID.您可以通过使用查找ID调用abortHostLookup()来中止查找...
结果准备好后调用插槽.结果存储在QHostInfo对象中.调用addresses()获取主机的IP地址列表,使用hostName()获取查找的主机名.
来自PySide的文档QHostInfo详细用法lookupHost但我认为它可能是从Qt文档自动生成的,因为默认情况下,该lookupHost方法在QtNetwork的类型系统定义中被声明为私有方法.
是否有特殊原因在PySide实现中将此方法声明为私有?它是否与调用的异步性质和Python的GIL有关?
在没有收到 PySide 板的答复后,我更改了 QtNetwork 的 PySide 类型系统定义文件中的行,使其内容如下:
<modify-function signature="lookupHost(QString,QObject*,const char*)" access="public"/>
重新编译PySide没有问题
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |