Python和PyQt5:如何获取帧的RGB颜色值?

时间:2019-05-07 13:59:24

标签: python python-3.x pyqt5 rgb

我正在尝试构建有关获取所选颜色的RGB值的PyQt5应用程序。我已经编写了一个代码,可以选择一种颜色,并且可以在框架中显示该颜色;

import sys
from pprint import pprint
from PyQt5.QtWidgets import QWidget,QPushButton,QFrame,QColorDialog,QApplication
from PyQt5.QtGui import QColor

class TutorialWindow(QWidget):
    def __init__(self):
        super().__init__()
        selected_color = QColor(0,0,255)
        self.button = QPushButton("Choose color",self)
        self.button.move(25,25)
        self.button.clicked.connect(self.showColorDialog)

        self.frame= QFrame(self)
        self.frame.setStyleSheet("QWidget { background-color: %s}" %selected_color.name())
        self.frame.setGeometry(150,22,50,50)
        self.setGeometry(300,300,250,200)

    def showColorDialog(self):
        selected_color = QColorDialog.getColor()
        if selected_color.isValid():
            self.frame.setStyleSheet("QWidget { background-color: %s}" %selected_color.name())

if __name__ == '__main__':
    app = QApplication(sys.argv)
    pprint("input parameters = " + str(sys.argv))
    tutorial_window = TutorialWindow()
    tutorial_window.show()
    sys.exit(app.exec_())

但是我还要一件事。如您所见,在运行并选择颜色之后;我想打印框架颜色的RGB值。如何将其添加到我的代码中?

非常感谢您!

1 个答案:

答案 0 :(得分:0)

我认为您正在搜索类似的内容

yourWidget.palette().highlight().color().name()

获得RGB:

yourWidget.palette().highlight().color().getRgb())