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

标签 c++ qt events wizard signals-slots

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

我尝试过 currentIdChangedcustomButtonClicked 信号,但这些信号也没有被调用。

知道如何响应按下“后退”按钮后显示的向导页面吗?我一定错过了一些简单的东西......

谢谢, 艾伦

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

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

完整的错误是:

Error 1 error C2664: 'bool QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : cannot convert parameter 1 from 'QAbstractButton *' to 'const QObject *'

最佳答案

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

示例:

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

关于c++ - 如何检测 QWizard 中按下的后退按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16565799/

相关文章:

c++ - WritePrivateProfileStruct 有大小限制吗?

c++ - 当多次链接 DLL 时,导出的全局变量会发生什么情况?

linux - 为 qt 程序提供 root 身份验证

.net - 解决方法 BeforeNavigate2 在 WPF .NET 中未触发

android - Flurry onEvent() 未发送自定义未捕获异常处理程序

javascript - D3.js:在不同图表中触发事件

c++ - 通过 C 接口(interface)传递 C++ i/o 类的特定于编译器的问题

c++ - 打开端口并测试

c++ - 从qt进度条中删除文本

c++ - 通过 QProcess 执行 VBS 从不发出 readyStandardOutPut