使用QTCreator自动生成setter / getter?

时间:2013-11-01 14:56:32

标签: c++ qt qt-creator

尽管进行了一些搜索,但我还是找不到使用QT Creator 2.3.1自动生成C ++类的getter和setter的方法。 你们知道某种方法吗?

4 个答案:

答案 0 :(得分:40)

右键点击您的会员,然后Refactor然后Generate Getter and Setter member function,您就完成了:)

example


在Qt Creator 3.2.x上,创建成员,然后单击它并按 alt + Enter

enter image description here

答案 1 :(得分:20)

将文本光标放在类定义中的成员变量上,然后按Alt + Enter。

答案 2 :(得分:0)

对我来说,右键单击,Refactor,Create Getter和Setter成员函数可以正常工作,除非成员是bool。

答案 3 :(得分:0)

使用宏,可以一起创建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)
}