您的位置:首页 > 编程语言 > Qt开发

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*)'

connect(clickTimer,SIGNAL(timeout()),this,SLOT(mouseClick()));

error: 'connect' was not declared in this scope                                                                ^

         多重继承如下:

         class
EMSRectItem
:public
QObject,
public
QGraphicsItem





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: