Q_PROPERTY()宏
来源:互联网 发布:mac室内三维建模软件 编辑:程序博客网 时间:2024/05/16 12:46
转自:http://blog.chinaunix.net/uid-20665047-id-3757741.html
介绍
看到一些qt的程序在使用Q_PROPERTY()
宏,参考了一下qt文档,发现定义格式如下:
Q_PROPERTY(type name READ getFunction [WRITE setFunction] [RESET resetFunction] [DESIGNABLE bool] [SCRIPTABLE bool] [STORED bool])
Q_PROPERTY()
是一个宏,用来在一个类中声明一个属性property,由于该宏是qt特有的,需要用moc进行编译,故必须继承于QObject
类。在外界看来,property跟类中数据成员没有什么区别,但是还是有几点不一样,参考qt文档,主要有以下几点
- 必须有一个
READ
函数。 - 有一个可选的
WRITE
函数。 - 如果定义了
STORED
属性表明这是一直存在的。 - 一个
RESET
函数能够把property设置成其默认状态 - 一个
DESIGNABLE
属性表明该property能在GUI builder(一般为Qt Designer)可见
例子
然后对照这些,自己写了一个例子
class Test : public QObject{Q_OBJECTQ_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)public:Test(QObject *parent = 0) : QObject(parent) {} virtual ~Test(){}void setEnabled(bool e) { enabled = e; }bool isEnabled() const { return enabled; }private:bool enabled;};
然后在主函数中
Test *test = new Test;test->setProperty("enabled", true);//test->setEnabled(true); //ok also workif(test->property("enabled").toBool()).....
0 0
- Q_PROPERTY()宏
- Q_PROPERTY宏
- QT Q_PROPERTY宏介绍
- QT中的Q_PROPERTY()宏
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Q_PROPERTY
- Qt之Q_PROPERTY宏定义
- Qt之Q_PROPERTY宏定义二
- Q_PROPERTY使用
- Q_PROPERTY 介绍
- Q_PROPERTY使用
- Q_PROPERTY 介绍
- Q_PROPERTY 介绍 .
- [leetcode] 243. Shortest Word Distance 解题报告
- Eclipse中修改SVN用户名和密码方法
- 用ajax技术编写login登陆界面
- 微信WeixinJSBridge API
- java多线程问题总结
- Q_PROPERTY()宏
- 欢迎使用CSDN-markdown编辑器
- spring 定时任务的 执行时间设置规则
- Redis与Memcached的区别
- android开机动画bootanimation
- c++基础--函数匹配
- Uncaught Error: Error calling method on NPObject.
- Achiveving a high hitrate(提高缓存命中率)
- Java计算TF-IDF值