如何检测QWizard中按下的后退按钮?

时间:2013-05-15 13:04:29

标签: c++ qt events wizard signals-slots

我有一个QWizard,每次向导页面可见时我都需要执行某些操作。目前我在 validateCurrentPage 函数中执行此操作但我已经意识到仅在按下“下一步”按钮时调用它,而不是“后退”按钮。

我尝试了 currentIdChanged customButtonClicked 信号,但这些信号也没有被调用。

知道如何回复按下“返回”按钮后显示的向导页面吗?我一定错过了一些简单的事情......

谢谢, 艾伦

编辑:根据cmannett85的要求添加了代码和编译器错误

QAbstractButton *backButton = button(QWizard::BackButton);
connect(backButton, SIGNAL(clicked()), this, SLOT(backClicked));

完整错误是:

  

错误1错误C2664:'bool QObject :: connect(const QObject *,const char *,const QObject *,const char *,Qt :: ConnectionType)':无法将参数1从'QAbstractButton *'转换为'const QObject *'

1 个答案:

答案 0 :(得分:2)

使用QAbstractButton *QWizard::button (WizardButton which)获取后退按钮并将其连接到插槽。

示例:

QAbstractButton *backButton = wizard->button(QWizard::BackButton);
connect(backButton, SIGNAL(clicked()), this, SLOT(backClicked()));