Qt 中 Q_OBJECT与no such slot的问题
来源:互联网 发布:液压制图软件 编辑:程序博客网 时间:2024/05/21 16:56
在Qt 中我们经常会遇到自己写一个派生类的情况,在这种情况下,有时我们会需要写信号与槽来用某些函数。比如下面的:
class myLabel:public QLabel{public: myLabel(QWidget* parent); ~myLabel(); QUdpSocket *udpSocket;private slots: void processPendingDatagram();};
这个时候,在.cpp的构造函数中构造信号与槽:
myLabel::myLabel(QWidget* parent):QLabel(parent){ udpSocket =new QUdpSocket(this); udpSocket->bind(QHostAddress::Any,10103);//白板绑定10103为自己的接收窗口 connect(udpSocket,SIGNAL(readyRead()),this,SLOT(processPendingDatagram()));//接收消息}
编译能通过,但是会出现no such slot的情况:
QObject::connect:No such slot QLabel::processPendingDatagram()
自己在private slots里面已经定义,并且也声明了,为什么会出现这种情况呢?
这是因为在自己的派生类中没有加入Q_OBJECT.
只有加入Q_OBJECT才能允许自己的派生类中添加信号与槽机制。
class myLabel:public QLabel{ Q_OBJECTpublic: myLabel(QWidget* parent); ~myLabel(); QUdpSocket *udpSocket;private slots: void processPendingDatagram();};一定要注意,加完Q_OBJECT之后,一定要重新执行qmake,否则编译器会报错。当然,也可以随便修改一下 .pro 文件,添加或删除一个空格或空行什么的都可以,使得qmake可以自动运行。
阅读全文
1 0
- Qt 中 Q_OBJECT与no such slot的问题
- QT中关于No such slot 的问题总结
- QT编程No such slot的问题
- Qt出现No such slot问题
- QT no such slot...
- QT编程No such slot的解决方法~~~
- Qt error: no such slot
- Object::connect: No such slot (QT槽丢失问题)
- Object::connect: No such slot (QT槽丢失问题)
- 调试备忘QT编程No such slot的解决方法
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT出现的问题
- QT中添加Q_OBJECT出现的问题
- QT报Object::connect: No such slot XXX::XXX()和Object::connect: No such slot XXX::XXX()问题
- Qt中运行时,Object::connect: No such slot(VS2008开发)
- QT中添加Q_OBJECT和继承QObject出现的问题
- QT编程No such slot的解决方…
- 微服务架构下的事务一致性保证
- 三大框架整合struts+spring+hibernate
- Activity跳转增加图片过渡
- 第8章-常用优先级和css3
- 鼎科TSUX6V6.0-E液晶电视驱动板维修
- Qt 中 Q_OBJECT与no such slot的问题
- HDU
- 深信服算法工程师面试总结
- vector向量使用方法总结
- c++课
- javaspilt会遇到的异常java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1
- 2.leetCode595: Big Countries
- 【模板】乘法逆元
- Java基础语法