不同平台上的按钮顺序(QDialogBu​​ttonBox)

时间:2013-03-24 12:12:36

标签: python qt pyqt4

QDialogBu​​ttonBox小部件会自动重新排序它的按钮,以满足不同平台上用户的期望。我想按照这种行为,但使用我自己的按钮标签(例如'导入'而不是'确定')。我怎样才能做到这一点?是否可以使用QMessageBox,还是需要编写自己的实现?我正在用PyQt4和Qt Designer编写我的应用程序。

在Aqua和Cleanlooks样式中查看OS X上QDialogBu​​ttonBox的截图。

QDialogButtonBox

1 个答案:

答案 0 :(得分:4)

QDialogButtonBox可以为您完成此操作,但您需要创建一个对话框,将其放在第一位(这是一项非常简单的工作)。

...
auto buttons = new QDialogButtonBox( this );
buttons->addButton( "Import", QDialogButtonBox::AcceptRole );
buttons->addButton( "Cancel", QDialogButtonBox::RejectRole );
...

文档是here(它是C ++,但我确信可以遵循它),一般的想法是当前样式布局使用ButtonRole来重新排列按钮。