Установка цвета QTextEdit
Почему когда я устанавливаю цвет для QTextEdit :
self.MainTextEdit.setPalette(QtGui.QPalette(QColor(self.oldEFColor[0], self.oldEFColor[1], self.oldEFColor[2], self.oldEFColor[3])))
Устанавливается нужный цвет только тогда, когда выбираешь черный
P.S.
self.oldEFColor[r, g, b, a]
UPD :
До того, как я пытаюсь установить цвет :
Далее пытаюсь применить цвет :
color = QtWidgets.QColorDialog.getColor(QColor(self.oldEFColor[0], self.oldEFColor1, self.oldEFColor2, self.oldEFColor[3]), self) if color.isValid(): self.oldEFColor = color.getRgb()
self.MainTextEdit.setPalette(QtGui.QPalette(QColor(self.oldEFColor[0],self.oldEFColor[1], self.oldEFColor[2], self.oldEFColor[3])))
self.MainTextEditLabel.setAutoFillBackground(True)
Ответы (1 шт):
я вас просил опубликуйте минимально-воспроизводимый пример! Надеюсь, что в следующий раз вы это будете делать.
Распаковывать надо так:
QtGui.QColor(*oldEFColor)
from PyQt5 import QtWidgets, QtGui
if __name__ == "__main__":
app = QtWidgets.QApplication([])
frame = QtWidgets.QFrame()
frame.setFrameShape(QtWidgets.QFrame.Box)
frame.setLineWidth(3)
frame.setAutoFillBackground(True) #
oldEFColor = [155, 110, 255, 255]
color = QtWidgets.QColorDialog.getColor(
QtGui.QColor(oldEFColor[0], oldEFColor[1], oldEFColor[2], oldEFColor[3]))
if color.isValid():
oldEFColor = color.getRgb()
print( oldEFColor )
palette = frame.palette()
palette.setBrush(QtGui.QPalette.Background, QtGui.QColor(*oldEFColor)) # <<<-----< *oldEFColor
frame.setPalette(palette)
widget = QtWidgets.QWidget()
w_layout = QtWidgets.QVBoxLayout(widget)
w_layout.addWidget(frame)
widget.resize(200, 200)
widget.show()
app.exec_()


