- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我通过子类化 QWizard 创建了一个向导,我通过子类化 QWizardPage 创建了我的向导页面。
我想在用户按下后退 按钮时显示一个确认对话框,并且我希望我的向导在用户按下否 时不转到上一页在确认对话框上。
当单击 QWizard 对话框上的Next 时,虚函数 bool validatePage()
被调用,如果我们不想转到下一个,则允许返回 false页面(例如,当字段不完整时)。
但是,当按下返回时,我不知道怎么说“不要返回”。调用了虚函数void cleanupPage()
(我可以在这里询问用户确认),但是向导无论如何都会返回。
有可能吗?
提前致谢。
最佳答案
通过断开后退按钮信号并将其连接到我的自定义插槽,我终于实现了我想要的(不确定这是最好的方法......)。
MyWizard::MyWizard(QWidget *parent) : QWizard(parent)
{
// [...]
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(onPageChanged(int)));
}
void MyWizard::onPageChanged(int id)
{
disconnect(button(BackButton), SIGNAL(clicked(bool)), 0, 0);
connect(button(BackButton), SIGNAL(clicked(bool)), this, SLOT(onBackButtonClicked()));
}
void MyWizard::onBackButtonClicked()
{
if (currentId() > Page_Intro && !confirmation(tr("Are you sure you want to go back?")))
return;
back();
}
注意,如果你在Wizard构造器上做连接/断开,它不起作用(Qt在你通过第一页时连接它)。
关于c++ - Q向导 : Confirmation on back button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970801/
我遇到过这个 html: 上面的html和这个有什么区别: 最佳答案 来自MDN page on the tag : 对于 type 的属性标签,可能的值是: 提交:按钮将表单数据提交给服务器
Button button= (Button) findViewbyID(R.id.button); 和 Button button = new Button(this); 有什么区别? 最佳答案 有
我是一名优秀的程序员,十分优秀!