首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何覆盖QWizard中的"next“插槽?

如何覆盖QWizard中的"next“插槽?
EN

Stack Overflow用户
提问于 2010-07-24 23:25:51
回答 1查看 2.5K关注 0票数 5

我使用的是一个QWizard类,它包含几个QWizardPage。对于某些页面,当单击"Next“按钮时,我需要做一些事情。

我试图在我的next类中覆盖QWizard插槽;但是,这似乎不起作用。该程序仍然进入父next类中的原始QWizard槽,而不是我实现的那个。

这是因为这个next插槽是虚拟保护的吗?单击“下一步”按钮后,我如何做一些事情?

下面是我的QWizard类的头文件。顺便说一句,accept信号的工作原理和我预期的一样好。

代码语言:javascript
复制
#ifndef PRIMERWIZARD_H
#define PRIMERWIZARD_H

#include <QWizard>

namespace Ui {
    class PrimerWizard;
}

class PrimerWizard : public QWizard {
    Q_OBJECT
public:
    PrimerWizard(QWidget *parent = 0);
    ~PrimerWizard();
protected slots:
    void next();
    void accept();

protected:
    void changeEvent(QEvent *e);

private:
    Ui::PrimerWizard *ui;
};

#endif // PRIMERWIZARD_H

我通过QtCreator的向导(Ha XD)创建了一个新的向导实例

守则如下:

代码语言:javascript
复制
PrimerWizard* pW = new PrimerWizard(this);
pW->exec();

next的信号槽连接是由QtCreator创建的,我找不到它实际连接的位置。我认为连接是通过以下函数在ui_PrimerWizard.h中构建的:

代码语言:javascript
复制
QMetaObject::connectSlotsByName(PrimerWizard);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-26 00:42:54

不能覆盖next插槽。但是,用于validatePage的QWizardPage函数可以。当单击"Next“或"Finish”按钮时,将调用此函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3327316

复制
相关文章

相似问题

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