【发布时间】:2014-08-04 05:47:16
【问题描述】:
如何覆盖 QDialogButtonBox 类中按钮的标准顺序?
看来 PyQt follows some kind of standard based on the platform it runs on.
目前左边是Cancel,右边是Ok(我在CentOS 6上):
但我的用户发现它令人困惑并且与他们习惯的背道而驰,并要求我更换它们:
这就是我创建盒子的方式:
self.buttonBox = QtGui.QDialogButtonBox(self)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok|QtGui.QDialogButtonBox.Cancel)
【问题讨论】:
-
您尝试过使用
QDialogButtonBox::AcceptRole和QDialogButtonBox::RejectRole吗? -
@Thomas 我使用
buttonBox.accepted和buttonBox.rejected链接到我想在按下确定或取消时调用的相应方法。这是你的意思吗? -
不完全是,如果您尝试使用 `addButton()` 而不是 setStdBtn 会发生什么?
-
我没有,但我想知道是否可以避免这样做?据我了解,使用
setStandardButtons设置带有信号的按钮,我可以直接链接到这些信号(使用accepted和rejected),而不必将它们自定义为我需要的取消和确定按钮如果我使用了addButton。 -
如果你不需要标准排序,你也不需要 QDialogButtonBox。
标签: python qt user-interface pyqt4