Qt QML:MessageDialog,标准按钮的顺序和设置默认按钮
我的main.qml中有以下代码Qt QML:MessageDialog,标准按钮的顺序和设置默认按钮,qt,qml,qt5,qt5.5,Qt,Qml,Qt5,Qt5.5,我的main.qml中有以下代码 MessageDialog { id: exitDialog title: "Quit" text: "Save before quitting?" icon: StandardIcon.Question standardButtons: StandardButton.Save| StandardButton.Discard | StandardButton.Cancel onAccepted: { .
MessageDialog {
id: exitDialog
title: "Quit"
text: "Save before quitting?"
icon: StandardIcon.Question
standardButtons: StandardButton.Save| StandardButton.Discard | StandardButton.Cancel
onAccepted: {
...
}
onDiscard: Qt.quit()
}
但问题是,我的按钮显示为关闭,没有保存“取消”和“上次保存”!默认按钮设置为关闭而不保存我希望保留代码中的按钮顺序,并将默认设置为保存。有人会遇到这样的问题吗?有什么建议吗
我已经看到了这个答案
但是我怎么做标准按钮呢 只是给你一个想法
按钮的显示顺序取决于平台。例如,在Windows上,“保存”显示在“取消”的左侧,而在Mac OS上,顺序相反
将其中一个标准按钮标记为默认按钮
QMessageBox msgBox;
msgBox.setText("The document has been modified.");
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
问题是关于MeasGeDealQualQML,而不是C++ QMaseBox,你已经回答了排序问题的一部分,我也发现我在那里没有太多的控制。但问题是,是否有可能重写此代码?不幸的是,正如@Mailerdaimon所提到的,它不是QML代码。我已经知道QT C++中的默认值了,有什么更新吗?