QT学习中自己常犯的错误
2017-06-30 04:32
113 查看
在工作当中,并不是经常使用QT,但是偶尔项目上还是要用,有些错误总是犯了又犯,现在整理如下:
1、信号和槽的参数一定要一致
connect(clickTimer,SIGNAL(timeout()),this,SLOT(mouseClick()));
如上所示:timeout()和mouseClick()的参数一定要一致,只要了解信号/槽机制就好理解了。
2、在QT中,双击鼠标的时候,如果不做其他处理,则在调用mouseDoubleClickEvent之前,会首先调用mousePressEvent,至于是哪个事件,需要程序员自己判断,一般采用定时器进行处理。
3、使用信号和槽的对象一定要继承自QObject,否则不能使用该机制,比如QGraphicsItem对象。可能会报如下类似错误:
clickTimer=newQTimer(this);
error: no matching function for call to 'QTimer::QTimer(EMSRectItem*)'
多重继承如下:
class
EMSRectItem
:public
QObject,
public
QGraphicsItem
1、信号和槽的参数一定要一致
connect(clickTimer,SIGNAL(timeout()),this,SLOT(mouseClick()));
如上所示:timeout()和mouseClick()的参数一定要一致,只要了解信号/槽机制就好理解了。
2、在QT中,双击鼠标的时候,如果不做其他处理,则在调用mouseDoubleClickEvent之前,会首先调用mousePressEvent,至于是哪个事件,需要程序员自己判断,一般采用定时器进行处理。
3、使用信号和槽的对象一定要继承自QObject,否则不能使用该机制,比如QGraphicsItem对象。可能会报如下类似错误:
clickTimer=newQTimer(this);
error: no matching function for call to 'QTimer::QTimer(EMSRectItem*)'
connect(clickTimer,SIGNAL(timeout()),this,SLOT(mouseClick()));
error: 'connect' was not declared in this scope ^
多重继承如下:
class
EMSRectItem
:public
QObject,
public
QGraphicsItem
相关文章推荐
- 用ISO C++实现自己的信号槽(Qt另类学习)
- QT 学习错误总结
- [QT学习]编译错误 undefined reference to vtable for **
- 转——自己整理的:学习verilog DHL问题笔记——Quartus常见错误
- C#学习使用try-catch-finally错误处理表达式(续)--定义自己的异常消息类
- cocos2d-xna-TweeJump学习笔记2(都是自己看别人代码后所感所想,希望有懂的人指出我的错误或者大家交流交流)
- 用ISO C++实现自己的信号槽(Qt另类学习)
- 学习QT的一些相关博客和自己的一点总结
- 在学习opencv 多通道变单通道时 自己出现的一点错误
- 用ISO C++实现自己的信号槽(Qt另类学习)
- QT学习4:C++基础和一些错误总结
- Qt学习之《C++ GUI Qt4编程》(第14章)多线程互斥量使用错误
- 自己整理的:学习verilog DHL问题笔记——Quartus常见错误
- 用ISO C++实现自己的信号槽(Qt另类学习)
- qt4.3.2编译vs2005下编译过程(自己学习下)
- 普通人从自己的错误中学习,聪明人从别人的错误中学习
- qt 在linux环境下的搭建 (自己整理) 分类: 嵌入式开发学习 2011-04-29 20:54 6033人阅读 评论(0) 收藏
- 自己两个月学习QT的学习心得!共享!希望能对新手有一点点帮助!
- C++学习心得(自己随意笔记,错误多多)
- cocos2d-xna-TweeJump学习笔记1(都是自己看别人代码后所感所想,希望有懂的人指出我的错误或者大家交流交流)