QHostInfo 详细介绍

举报
咚咚隆地咚 发表于 2022/09/23 14:08:33 2022/09/23
【摘要】 在我们需要读取本机的一些基本信息,或者查找主机的ip等等,我们可以使用 QHostInfo类,在使用此方法时,必须在Pro文件中加入QT       += network这句,否则该类会出现加载不成功的情况接下来是一些常态的方法QHostInfo::localHostName(): 通过这条语句获取本机的主机名,如果我们需要获取主机的ip地址 必须先知道他的主机名称 他的返回值为字符串QHo...

在我们需要读取本机的一些基本信息,或者查找主机的ip等等,我们可以使用 QHostInfo类,在使用此方法时,必须在Pro文件中加入QT       += network这句,否则该类会出现加载不成功的情况

接下来是一些常态的方法

QHostInfo::localHostName(): 通过这条语句获取本机的主机名,如果我们需要获取主机的ip地址 必须先知道他的主机名称 他的返回值为字符串

QHostInfo::fromName(QString &name): 这句就是上面所提到的,通过主机名获取IP地址。两者的关系为上可以有下,使用下必须有上
QHostInfo::lookupHost():这条语句可以通过一个主机名,以异步方式查找这个主机的IP地址。但是他的使用方法比较特殊。

QHostInfo::lookupHost(hostname,this,SLOT(lookedUpHostInfo(QHostInfo)));

第一个参数是所需要查询的名称,例如www.baidu.com

后面两个参数于connect方法是一样的  但是这里要注意:这里的槽函数必须是在private slots: 下 在我们平时用槽函数的时候,不一定必须写在他的下面,这就是和connect的差异 如果不把他写在slot下,会导致

QObject::connect: No such slot MainWindow::lookedUpHostInfo(QHostInfo) in ..\sample14_1\mainwindow.cpp:92

QObject::connect: (receiver name: 'MainWindow')

这个错误  并且查好多文章都没有解决。是在看着视频一步一步跟着做餐发现是这儿的问题。

QHostInfo::localDomainName():用于返回本机的DNS域名。返回值为string

QList<QHostAddress> addressList = hostInfo.addresses();通过这句可以获得当前主机所关联的ip地址列表

总结

以上只是QHostInfo 类的一小部分,我所列出来的仅仅是我是用,并且可以正确使用的部分。如有不对的地方,请各位指教!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。