码迷,mamicode.com
首页 > 其他好文 > 详细

[Qt小知识集锦]QT的5个基础知识,你知道几个

时间:2016-04-06 00:51:20      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:qt   基础知识集锦   

1 你不能调用QObject的拷贝构造函数和赋值运算符

QObject A

QObject B(A);

错误。

QObject A

QObject B

B = A

也是错误。

 

2 QPointer能够帮你自动管理指针

QPointer引用了QObject对象,删除被引用对象后,不管是否显示设置其为0,都能够自动归零;

QLabel *pLabel = new QLabel();

QPointer<QLabel> label = pLabel;

deletepLabel;

qDebug()<<"after="<<label;

输出:after = 0

 

3 使用Qt,你在运行时能够获取对象类型

QObject *obj = new XXXXX;

QLabel *label = qobject_cast<QLabel*>(obj)

Label不为0,那么label就是有效的,同理

QPushButton *button = qobject_cast<QPushButton *>(obj)

button不为0,那么button就是有效的。

 

4 不要忘记Q_OBJECT宏

Q_OBJECT宏能让你的QObject子类拥有信号槽能力,还有动态属性,只要是QObject子类,就记得加一个Q_OBJECT宏吧。


5 幕后英雄

Qt提供了很多强大的功能,如信号槽、动态属性,这都离不开——qmake,它帮你生成了这些功能的额外代码。


本文出自 “QT爱好者” 博客,请务必保留此出处http://qtfuns.blog.51cto.com/5268575/1760615

[Qt小知识集锦]QT的5个基础知识,你知道几个

标签:qt   基础知识集锦   

原文地址:http://qtfuns.blog.51cto.com/5268575/1760615

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!