基于Qt的局域网聊天小项目,UDP部分,QHostAddress问题

Hey_Faye 2016-07-11 03:11:14
新手,看到网上例程,Qt局域网聊天,然后编译不过,提示错误
代码如下:
udpSocket->writeDatagram(data,data.length(),QHostAddress::QHostAddress(ui->tableWidget->item(index.row(),2)->text()), port);
错误提示:
error: cannot call constructor 'QHostAddress::QHostAddress' directly [-fpermissive]
还有如下代码也同样的错误:
xchat = new QUdpSocket(this);
xport = 45456;
// xchat->bind(xport, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);
xchat->bind( QHostAddress::QHostAddress(getIP()), xport );

我看QHostAddress.h 文件中明明有
explicit QHostAddress(const QString &address); 这个构造函数啊,为什么不能执行呢??
...全文
543 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hey_Faye 2016-07-13
  • 打赏
  • 举报
回复
引用 1 楼 u013466477 的回复:
它是要你传一个对象实例,静态函数才这么写吧,而且这里就算是静态函数也不能这么写 一般这么写: QHostAddress address (ui->tableWidget->item(index.row(),2)->text()) udpSocket->writeDatagram(data, data.length(), address, port);
谢谢,按照您的方法成功了
冷静忍耐 2016-07-11
  • 打赏
  • 举报
回复
它是要你传一个对象实例,静态函数才这么写吧,而且这里就算是静态函数也不能这么写 一般这么写: QHostAddress address (ui->tableWidget->item(index.row(),2)->text()) udpSocket->writeDatagram(data, data.length(), address, port);

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧