我无法找到使用 Qt Creator 2.3.1 为 C++ 类自动生成 getter 和 setter 的方法。
我该怎么做?
右键单击您的会员,然后
Refactor
,然后Generate Getter and Setter member function
,就完成了:)
在 Qt Creator 3.2.x 上,创建成员,然后单击它并按 alt+Enter :
将文本光标定位在类定义中的成员变量上,然后按 Alt+Enter。
对我来说,右键单击、重构、创建 Getter 和 Setter 成员函数都有效,除非该成员是布尔值。
使用宏,可以一起创建 getter、setter 和 signal,如下所示:
#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)
}