我正在尝试构建有关获取所选颜色的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值。如何将其添加到我的代码中?
非常感谢您!
答案 0 :(得分:0)
我认为您正在搜索类似的内容
yourWidget.palette().highlight().color().name()
获得RGB:
yourWidget.palette().highlight().color().getRgb())