gpt4 book ai didi

qt - 是否可以通过const方法发出Qt信号?

转载 作者:行者123 更新时间:2023-12-03 08:54:58 25 4
gpt4 key购买 nike

特别是,我正在为QWizard实现QWizardPage(“MyWizardPage”),并且我想从我对QWizardPage::nextId虚拟方法的重写中发出一个信号(“sigLog”)。

像这样:

class MyWizardPage
: public QWizardPage
{
Q_OBJECT
public:
MyWizardPage();
virtual int nextId() const;
Q_SIGNALS:
void sigLog(QString text);
};

int MyWizardPage::nextId() const
{
Q_EMIT sigLog("Something interesting happened");
}

但是,当我尝试这样做时,在Q_EMIT行上出现以下编译错误:

Error 1 error C2662: 'MyWizardPage::sigLog' : cannot convert 'this' pointer from 'const MyWizardPage' to 'MyWizardPage &'

最佳答案

通过在信号声明中添加“const”,可以从const方法发出信号,如下所示:

void sigLog(QString text) const;

我对此进行了测试,即使您自己实际上并未将信号实现为正常方法(即Qt可以使用它), 也会编译并运行

关于qt - 是否可以通过const方法发出Qt信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5781449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com