• 5379阅读
  • 6回复

请问一下Q_PROPERTY这个宏有什么用? [复制链接]

上一主题 下一主题
离线eralvc
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-25
— 本帖被 XChinux 执行加亮操作(2008-09-25) —
比如写了一个Q_PROPERTY(int mGroupType READ groupType WRITE setGroupType),然后就要再写一个int GroupType来存储,相应的int groupType()来读,void setGroupType(int)来写,对吧?那我写上面这个宏干嘛呢?不写这个宏还不是能照样工作?

我是新手,麻烦指教。
离线sbtree
只看该作者 1楼 发表于: 2008-09-25
文档里说了,通过这个宏可以较容易地利用元对象(Meta-Object)的额外特性
Properties behave like class data members, but they have additional features accessible through the Meta-Object System
windows 7 + VC++2008 + Qt4.5.2
离线eralvc

只看该作者 2楼 发表于: 2008-09-25
就是这个没明白,看了文档还是没看出来到底方便利用哪些特性了?
另外想问一下:如果不写Q_PROPERTY的话,是不是在designer的右边的栏里就不能直接修改属性了 ?
离线eralvc

只看该作者 3楼 发表于: 2008-09-26
没人能解释一下吗?难道都不用这个宏?
离线eralvc

只看该作者 4楼 发表于: 2008-09-26
而且我发现好像只在自定义窗口部件里见过,其他地方都没有用到了。如果说能用到元编译的优点的话,为什么都不用呢?
离线eralvc

只看该作者 5楼 发表于: 2008-09-26
在qtforum上看到解释了……
这个宏主要是在自定义窗口部件(widget)的时候用,以通知desinger显示相应的可以修改的属性。这个宏是可以建立相应的读、写操作的,但是效果不见得好,原因在于有时我们所要的get和set操作不是一个简单的=操作,还要做一些其他的工作。所以最好重写Q_PROPERTY里声明的这些函数

居然是自问自答,自己结贴,还真是冷清……
离线shifan
只看该作者 6楼 发表于: 2009-08-19
好贴,好解答,顶一下。建议论坛集合一下有用的贴,可以出本书,或者做个集锦以供下载。
快速回复
限100 字节
 
上一个 下一个