按以上方法报错AttributeError: 'QMessageBox' object has no attribute 'setButtonText'
时间: 2023-08-27 10:19:44 浏览: 255
非常抱歉,对不起给你带来了困惑。之前提到的`setButtonText()`方法是用于`QMessageBox`的标准按钮的设置。
如果你想要自定义一个按钮,你可以使用`QPushButton`类来创建一个自定义按钮,并通过设置样式表来自定义外观。
以下是一个修正后的示例代码,演示如何添加一个自定义按钮:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
def on_button_clicked():
print("按钮被点击了!")
app = QApplication([])
window = QMainWindow()
window.setWindowTitle("自定义按钮示例")
window.resize(200, 100)
button = QPushButton(window)
button.setText("自定义按钮")
button.setStyleSheet("""
QPushButton {
background-color: #007BFF;
color: white;
border-radius: 5px;
padding: 10px;
}
QPushButton:hover {
background-color: #0056b3;
}
""")
button.clicked.connect(on_button_clicked)
window.setCentralWidget(button)
window.show()
app.exec_()
```
在这个修正后的示例代码中,我们创建了一个`QMainWindow`窗口,并设置了窗口的标题和大小。然后,我们创建了一个`QPushButton`按钮,并设置按钮的文本为"自定义按钮"。
通过设置`button.setStyleSheet()`方法,我们可以为按钮设置样式表。在样式表中,我们可以自定义按钮的背景颜色、字体颜色、边框半径和内边距等。
最后,我们将按钮添加到窗口的中央部件,并通过`button.clicked.connect()`方法将按钮的点击事件与`on_button_clicked`函数连接起来。
当点击按钮时,`on_button_clicked`函数会被调用,并输出一条消息。
再次对之前的错误信息给你带来的困扰表示抱歉,希望这个修正后的示例代码能帮助到你!如果还有其他问题,请随时提问。
阅读全文