是否可以通过const方法发出Qt信号?
|
特别是,我正在为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行上出现以下编译错误:
错误1错误C2662:\'MyWizardPage :: sigLog \':无法将\'this \'指针从\'const MyWizardPage \'转换为\'MyWizardPage&\'
没有找到相关结果
已邀请:
2 个回复
弛保矮瘦敖
我对此进行了测试,即使您自己实际上并未将信号实现为正常方法(即Qt可以使用它),它也可以编译并运行。
诉嘎归亮
或者你可以只使用
不建议这样做,因为const_cast是一个hack,但是要短得多:)