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

标签 python qt pyqt4

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

请参阅下面的 Aqua 和 Cleanlooks 样式的 OS X 上 QDialogBu​​ttonBox 的屏幕截图。

QDialogButtonBox

最佳答案

QDialogBu​​ttonBox 可以为您完成此操作,但您需要创建一个对话框以首先放入一个对话框(工作量很小)。

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

文档是 here (是C++的,不过我肯定能跟得上),大意是ButtonRole被当前样式布局用来重新排列按钮。

关于python - 不同平台上按钮的顺序(QDialogBu​​ttonBox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15598313/

相关文章:

android - qt 传感器上的未定义引用

python - 如何重启 PyQt5 应用程序

python - 如何使用 PyQt 更改光标形状?

python - 在python 3.6.2最近安装的包中安装PyICU时出错

qt - QtCreator 自定义向导中的项目变量和配置

python - 带有回调 : access violation on exit 的 ctypes

c++ - Beaglebone Black 上的 QT-OpenCV

python - QTableWidget 当前选择改变信号

Python:可视化数据直方图上的正态曲线

python - 使用 sklearn 获取单词的 tf-idf 权重