不同平台上推按钮的顺序 (QDialogButtonBox)

1 投票
1 回答
1261 浏览
提问于 2025-04-17 20:08

QDialogButtonBox这个小部件会根据不同平台的用户习惯自动调整按钮的顺序。我想要实现这种功能,但想用我自己的按钮标签(比如用'导入'代替'确定')。我该怎么做呢?我可以使用QMessageBox吗,还是需要自己写一个实现?我正在用PyQt4和Qt Designer来写我的应用程序。

下面是OS X系统中Aqua和Cleanlooks风格的QDialogButtonBox的截图。

QDialogButtonBox

1 个回答

5

QDialogButtonBox 可以帮你实现这个功能,但你需要先创建一个对话框来放置它(这只是很简单的一步工作)。

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

文档在 这里(虽然是C++的内容,但我相信你能理解),大致的意思是 ButtonRole 被当前的样式布局用来重新排列按钮。

撰写回答