Python 如何订购PyQt Qmessagebox按钮

Python 如何订购PyQt Qmessagebox按钮,python,pyqt5,qmessagebox,Python,Pyqt5,Qmessagebox,我的Qmessagebox中有4个自定义按钮,我希望它们按顺序排列:(无、小、中、大) 目前,默认按钮是Qmessagebox.Yes按钮(“无”)。如何在不切换每个按钮名称的情况下更改按钮的顺序 编辑:我使用python 3.8和PyQt5,按钮的顺序由角色预定义,因此一个可能的解决方案是删除“Medium”按钮并将其添加到末尾: #。。。 按钮a.setText(“大”) hlay=msgbox.findChild(QHBoxLayout) litem=hlay.takeAt(3) w=li

我的Qmessagebox中有4个自定义按钮,我希望它们按顺序排列:(无、小、中、大)

目前,默认按钮是Qmessagebox.Yes按钮(“无”)。如何在不切换每个按钮名称的情况下更改按钮的顺序


编辑:我使用python 3.8和PyQt5,按钮的顺序由角色预定义,因此一个可能的解决方案是删除“Medium”按钮并将其添加到末尾:

#。。。
按钮a.setText(“大”)
hlay=msgbox.findChild(QHBoxLayout)
litem=hlay.takeAt(3)
w=litem.widget()
如果w不是无:
hlay.addWidget(w)
结果=msgbox.exec_389;()
msgbox.setStandardButtons(QMessageBox.Yes | QMessageBox.No | QMessageBox.Ignore | QMessageBox.Retry)
msgbox.setDefaultButton(QMessageBox.Yes)
buttonX = msgbox.button(QMessageBox.Yes)
buttonY = msgbox.button(QMessageBox.No)
buttonZ = msgbox.button(QMessageBox.Ignore)
buttonA = msgbox.button(QMessageBox.Retry)
buttonX.setText("None")
buttonY.setText("Small")
buttonZ.setText("Medium")
buttonA.setText("Large")

result = msgbox.exec_()