我有个应用,需要自己写一些控件,举个例子:
比如,一个RadioButton,我继承自QRadioButton,同时我要在自己的类里加入
数据库访问参数的property
一般是:
Q_PROPERTY(
QString dbName READ dbName WRITE setDbName)
...
由于要通过designer来plugin 我的widgets,无法使用组合(白痴的designer不支持自定义类型)
继承也没法用,因为如果要用多继承,由于均来自一个父类(diamond interitance).
这样,我的笨办法是:在我的每个写的控件中都添加一遍类似上边的Q_PROPERTY及相关的functions
为了起码的可维护性,我打算用宏的,现在就有问题一:
这个Q_PROPERTY比较神奇,竟然不能嵌套,我所能找到的定义部分没搞明白。是这样的:
#define Q_PROPERTY(text) Q_PROPERTY(text)
哪位能告诉我实际的Q_PROPERTY定义是什么?
我本来打算定义个宏 #define DB_PROPERTY Q_PROPERTY(...) ......
第二个问题是:还有什么好办法呢?
[ 此贴被foxyz在2009-02-05 13:33重新编辑 ]