我有一个类,每次执行一个动作时都会显示一个QMessageBox。我试图将QMessageBox中的按钮颜色设置为银色背景。
此时按钮为蓝色,与QMessageBox的背景相同。
我的问题是,如何使用这段代码:QtWidgets.qApp.setStyleSheet(“QMessageBox QPushButton {background-color:Silver;}”)我可以将QMessageBox中的QPushButton颜色更改为silver。
这是我的代码片段。我试图将上面的片段放入函数中,以便在单击按钮时,消息框中QPushButton的颜色将为银色。是否存在问题,因为它似乎没有任何改变。我应该在代码中放置此样式表功能?
self.canonicalAddressesButton.clicked.connect(self.canonical_data_parsed_notification)
def canonical_data_parsed_notification(self):
QtWidgets.QMessageBox.information(self.mainwindow, 'Notification', 'Canonical Address Data Has Been Parsed!', QtWidgets.QMessageBox.Ok)
QtWidgets.qApp.setStyleSheet("QMessageBox QPushButton{background-color: Silver;}")
答案 0 :(得分:1)
在创建QMessageBox之前,应该调用setStyleSheet()
方法。以下是如何做到这一点的简单示例:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QPushButton, qApp, QMessageBox
class App(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(0, 0, 300, 200)
button = QPushButton('Click me', self)
qApp.setStyleSheet("QMessageBox QPushButton{background-color: Silver;}")
button.clicked.connect(self.button_clicked)
def button_clicked(self):
QMessageBox.information(self, 'Notification', 'Text', QMessageBox.Ok)
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = App()
widget.show()
sys.exit(app.exec_())