2013-05-15 55 views
2

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

我已经试过currentIdChangedcustomButtonClicked信号,但这些没有得到或者叫做。

任何想法如何我可以响应在后退按钮被按下后显示的向导页面?我一定是简单的东西...

谢谢你,艾伦

编辑:由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)':无法转换t参数1从'QAbstractButton *'到'const QObject *'

+1

这个错误并没有真正意义,除非你忘了加上 “#包括”。 – darron

+0

谢谢。这确实是错误的原因......对不起,我没有发现它自己。 –

回答

2

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

例子:

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

谢谢。我已经试过这个,但我得到了错误“不能将参数1从'QAbstractButton *'转换为'const QObject *'”。如果我可以通过ui到达后退按钮 - > ...那么它会起作用。 –

+0

@AlanSpark QAbstractButton从'QObject'派生出来,还有别的东西可以用来为你的问题添加你用于编译器和编译器错误的代码吗? – cmannett85

+0

它看起来像是要完成这项工作,尽管它看起来应该比它应该更复杂一些。尽管我现在会解决它!谢谢你的帮助。 –