AttributeError: 'StandardButton' object has no attribute 'button'
时间: 2023-09-04 19:10:31 浏览: 93
对不起,我之前的回答有误。确实没有`button`方法。
您可以使用`buttonRole()`方法来获取按钮的角色,并通过`button()`方法来获取对应的`QPushButton`对象。然后,您可以使用`setText()`方法设置按钮的文本。
以下是修正后的示例代码:
```python
from PyQt5 import QtWidgets
app = QtWidgets.QApplication([])
msg_box = QtWidgets.QMessageBox()
msg_box.setIcon(QtWidgets.QMessageBox.Warning)
msg_box.setText("消息内容")
msg_box.setWindowTitle("标题")
msg_box.setStandardButtons(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)
# 获取按钮角色
yes_button_role = msg_box.buttonRole(msg_box.button(QtWidgets.QMessageBox.Yes))
no_button_role = msg_box.buttonRole(msg_box.button(QtWidgets.QMessageBox.No))
# 设置按钮文本
if yes_button_role == QtWidgets.QMessageBox.YesRole:
msg_box.button(QtWidgets.QMessageBox.Yes).setText("是")
if no_button_role == QtWidgets.QMessageBox.NoRole:
msg_box.button(QtWidgets.QMessageBox.No).setText("否")
msg_box.exec_()
```
请注意,在上面的代码中,我们首先创建了一个`QMessageBox`对象,并设置了图标、文本和标题。然后,我们获取了每个按钮的角色,并根据角色来设置对应按钮的文本。
希望这次能帮到您!如果还有其他问题,请随时提问。