尽管进行了一些搜索,我仍然无法找到一种使用QT Creator 2.3.1自动生成C++类的Getter和Setter方法的方法。你们知道如何实现吗?
在您的成员上右键,然后选择 重构
,再选择 生成getter和setter成员函数
即可完成 :)
在Qt Creator 3.2.x中,创建成员,然后单击它并按 alt+Enter :
将文本光标定位于类定义中的成员变量上,然后按下Alt+Enter。
使用宏,可以按照以下方式同时创建getter、setter和信号:
#define GETSET(type, var) \
protected: \
type m##var; \
public: \
type Get##var() const \
{\
return m##var; \
}\
void Set##var(type iVal) \
{\
m##var = iVal; \
var##Changed(iVal); \
}
并调用宏:
class Student : QObject
{
Q_OBJECT
public signals:
void NameChanged(const QString & name);
void AddressChanged(const QString & address);
void BirthDateChanged(const QDate & date);
GETSET(QString, Name)
GETSET(QString, Address)
GETSET(QDate, BirthDate)
}
...Changed
信号,而Qt文档(属性系统)明确指出:“为了避免在QML中不必要地重新评估绑定,应仅在属性实际更改时发出NOTIFY信号。” - tistolz