使用 Qt Creator 自动生成 setter/getter

问题描述 投票:0回答:4

我无法找到使用 Qt Creator 2.3.1 为 C++ 类自动生成 getter 和 setter 的方法。

我该怎么做?

c++ qt qt-creator auto-generate
4个回答
51
投票

右键单击您的会员,然后

Refactor
,然后
Generate Getter and Setter member function
,就完成了:)

example


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

enter image description here


21
投票

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


1
投票

对我来说,右键单击、重构、创建 Getter 和 Setter 成员函数都有效,除非该成员是布尔值。


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)
}
© www.soinside.com 2019 - 2024. All rights reserved.