向 Q_Object 构造函数添加参数

Posted

技术标签:

【中文标题】向 Q_Object 构造函数添加参数【英文标题】:Adding parameters to Q_Object constructor 【发布时间】:2017-04-28 03:08:06 【问题描述】:

当我在 Qt Creator 中创建一个新的 Q_OBJECT 类时,它会生成这个默认构造函数。我想添加另一个参数以便我可以传递用户输入,但我不确定如何执行此操作,因为QObject 是第一个参数并且不知道如何跳过第一个参数并在@987654323 上传递用户输入@参数。

如何采用此默认值:

public:
            explicit renderJob(QObject *parent = 0);

这样做

public:
    explicit renderJob(QObject *parent = 0,QString userInput);

【问题讨论】:

【参考方案1】:

C++ 中,如果您放置默认参数,这些参数应位于最后位置。此外,应该将 QObject 参数传递给基类构造函数。例如:

class renderJob: public BaseObjectClass

    Q_OBJECT
public:
    explicit renderJob(QString userInput, QObject *parent = 0);


[...]

renderJob::renderJob(QString userInput, QObject *parent):
BaseObjectClass(parent)

    [...]

【讨论】:

以上是关于向 Q_Object 构造函数添加参数的主要内容,如果未能解决你的问题,请参考以下文章

如何向此类添加复制构造函数和赋值运算符?

Typescript如何向对象构造函数添加属性?

js继承方式(es5)

Resharper Initialize 来自构造函数的字段在 2017.1 中不可用

explicit构造函数

explicit构造函数