Python 在PyQt5中是否没有方法动态更改背景颜色?

Python 在PyQt5中是否没有方法动态更改背景颜色?,python,dynamic,colors,background,pyqt5,Python,Dynamic,Colors,Background,Pyqt5,我正在用Python编写一个应用程序,使用PyQt5。 我真的想更改QLable、QTextEdit或任何可以动态显示某些颜色的内容的背景 我已经看到了很多改变背景颜色的例子,但是所有这些似乎都是我需要提前做一些调色板的事情 我想做的是根据用户的键盘输入改变背景颜色,这表示一种如下颜色:fffff或255、255、255。 那么,真的没有办法实现这一点吗 我应该使用什么类型的对象并不重要。只要是矩形就足够了。下面是一个基本示例,介绍如何使用setStyleSheet动态更改背景颜色。小部件的背景

我正在用Python编写一个应用程序,使用PyQt5。 我真的想更改QLable、QTextEdit或任何可以动态显示某些颜色的内容的背景

我已经看到了很多改变背景颜色的例子,但是所有这些似乎都是我需要提前做一些调色板的事情

我想做的是根据用户的键盘输入改变背景颜色,这表示一种如下颜色:fffff或255、255、255。 那么,真的没有办法实现这一点吗


我应该使用什么类型的对象并不重要。只要是矩形就足够了。

下面是一个基本示例,介绍如何使用setStyleSheet动态更改背景颜色。小部件的背景颜色将更改为输入行中输入的任何颜色。颜色可以输入为命名的html颜色红色、蓝色、黄色等,也可以输入为rrggbb格式的十六进制代码

from PyQt5 import QtWidgets


class Widget(QtWidgets.QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        layout = QtWidgets.QHBoxLayout(self)
        self.line_edit = QtWidgets.QLineEdit()
        self.line_edit.setPlaceholderText('Enter a color')
        self.line_edit.setStyleSheet('QLineEdit {background-color:white}')
        layout.addWidget(self.line_edit)

        self.line_edit.editingFinished.connect(self.change_background)

    def change_background(self):
        col = self.line_edit.text()
        self.setStyleSheet(f'QWidget {{background-color: {col};}}')
        self.line_edit.clear()


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    widget = Widget()
    widget.resize(400,300)
    widget.show()
    app.exec()

您没有很多选择,您可以使用Qpalete,也可以查看。如果你想动态地做这件事,你应该更具体地说明你所说的是什么意思,并提供你迄今为止尝试过的东西的详细信息,即使它没有按预期工作。我确实尝试添加一个实际的代码作为示例,但我做不到,因为这是我第一次使用PyQt5。。。我找不到任何与我想要的相关的东西。正如我提到的,我期望的是:1。用户以ffffff或255、255、255等格式输入颜色。它是十六进制或RGB2。然后我的程序将背景颜色更改为给定的输入颜色。这就是全部。为什么在PyQt5中这么难?谢谢。我试试这个。