QDialogButtonBox小部件会自动重新排序它的按钮,以满足不同平台上用户的期望。我想按照这种行为,但使用我自己的按钮标签(例如'导入'而不是'确定')。我怎样才能做到这一点?是否可以使用QMessageBox,还是需要编写自己的实现?我正在用PyQt4和Qt Designer编写我的应用程序。
在Aqua和Cleanlooks样式中查看OS X上QDialogButtonBox的截图。
答案 0 :(得分:4)
QDialogButtonBox
可以为您完成此操作,但您需要创建一个对话框,将其放在第一位(这是一项非常简单的工作)。
...
auto buttons = new QDialogButtonBox( this );
buttons->addButton( "Import", QDialogButtonBox::AcceptRole );
buttons->addButton( "Cancel", QDialogButtonBox::RejectRole );
...
文档是here(它是C ++,但我确信可以遵循它),一般的想法是当前样式布局使用ButtonRole
来重新排列按钮。