Q_PROPERTY 介绍 .
来源:互联网 发布:汇商软件科技有限公司 编辑:程序博客网 时间:2024/04/30 03:48
QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property];
QT的强大之处在于它可以支持任何标准的c++编译器。 QT是基于 Meta-Object System(元对象)和signals and slots(信号槽)的.
Q_PROPERTY
Q_PROPERTY()是一个宏,用来在一个类中声明一个属性property,由于该宏是qt特有的,需要用moc进行编译,故必须继承于QObject类。
一个属性行为类似于类里面的数据成员,但是他是却可以通过Meta-Object System来访问。
在外界看来,property跟类中数据成员没有什么区别,但是还是有几点不一样,参考qt文档,主要有以下几点:
1.必须有一个read函数。它用来读取属性值。因此用Const限定。它的返回值类型必须为属性类型或者属性类型的引用或者指针。不能是其他类型例如:QWidget::hasFocus().
2.有一个可选的write函数。它用来设置属性值,它的返回值必须为void型,而起必须要含有一个参数。例如:QWidget::setEnabled()
3.一个reset函数能够把property设置成其默认状态,它也是可选的。复位功能必须返回void,并且不带参数,
4.一个NOTIFY信号是可选的 。如果定义,它提供了一个信号这个信号在值发生改变时会自动被触发。
5.如果定义了"STODE"属性表明这是一直存在的。QWidget::minimumSize()
6.一个"DESIGNABLE"属性表明该property能在GUI builder(一般为Qt Designer)可见
7.USER 属性 表面是否可以被用户所编辑
8 CONST设定属性是不可修改的 所以不能跟WRITE或者NOTIFY同时出现
9FINAL表明该属性不会被派生类中重写
- Q_PROPERTY 介绍
- Q_PROPERTY 介绍
- Q_PROPERTY 介绍 .
- Q_PROPERTY 介绍 .
- QT Q_PROPERTY宏介绍
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY使用
- Q_PROPERTY使用
- Qt-Q_PROPERTY
- Q_PROPERTY()宏
- Q_PROPERTY宏
- 利用stylesheet设置Q_PROPERTY
- 手写HTTPServer 之 HttpRequest封装
- SpringBoot、MyBatis配置多数据源
- HDU1253 胜利大逃亡
- 码神作业(hashset的应用)
- 快慢指针应用(二)——链表排序
- Q_PROPERTY 介绍 .
- windows进程
- 垒骰子-蓝桥杯
- Fragment中ListView的Item的点击事件(包含Item内部控件的点击事件)
- javax.servlet.jsp.JspTagException] with root cause
- imageMagick+im4java给图片打水印
- (Java)文件分割器
- Scala入门之高级类型:结构类型
- MySQL 常用命令