首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用QTCreator自动生成setter/getter?

用QTCreator自动生成setter/getter?
EN

Stack Overflow用户
提问于 2013-11-01 22:56:32
回答 3查看 21.3K关注 0票数 31

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

EN

回答 3

Stack Overflow用户

发布于 2013-11-01 23:09:52

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

票数 21
EN

Stack Overflow用户

发布于 2018-04-27 21:49:50

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

票数 0
EN

Stack Overflow用户

发布于 2020-06-26 00:17:04

使用宏,可以一起创建getter、setter和signal,如下所示:

代码语言:javascript
复制
#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); \
    }

并调用宏:

代码语言:javascript
复制
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)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19729288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档