gpt4 book ai didi

python - 使用 Pyside2 的颜色选择器和可视化工具

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:05 28 4
gpt4 key购买 nike

我在使用 pyside2 时遇到问题。我需要实现一个颜色选择器,当我选择一种颜色时,在一个小方 block 中可视化该颜色。

我已经完成了这样的颜色选择器:

color = QtWidgets.QColorDialog.getColor()

但我不知道如何制作一个正方形(它应该是一个标签?)并用所选颜色为其着色。

最佳答案

如果您可以使用QLabel,则可以使用QPalette来更改背景颜色:

from PySide2 import QtWidgets, QtGui, QtCore

class Widget(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
QtWidgets.QWidget.__init__(self, *args, **kwargs)
lay = QtWidgets.QVBoxLayout(self)
button = QtWidgets.QPushButton("Select color")
button.clicked.connect(self.on_clicked)
self.label = QtWidgets.QLabel()
self.label.setAutoFillBackground(True)
self.label.setFixedSize(100, 100)

lay.addWidget(button)
lay.addWidget(self.label)

def on_clicked(self):
color = QtWidgets.QColorDialog.getColor()
if color.isValid():
palette = self.label.palette()
palette.setColor(QtGui.QPalette.Background, color)
self.label.setPalette(palette)

if __name__ == '__main__':
import sys

app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())

或者使用Qt样式表:

from PySide2 import QtWidgets, QtGui, QtCore

class Widget(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
QtWidgets.QWidget.__init__(self, *args, **kwargs)
lay = QtWidgets.QVBoxLayout(self)
button = QtWidgets.QPushButton("Select color")
button.clicked.connect(self.on_clicked)
self.label = QtWidgets.QLabel()
self.label.setFixedSize(100, 100)

lay.addWidget(button)
lay.addWidget(self.label)

def on_clicked(self):
color = QtWidgets.QColorDialog.getColor()
if color.isValid():
self.label.setStyleSheet("background-color: {}".format(color.name()))

if __name__ == '__main__':
import sys

app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())

关于python - 使用 Pyside2 的颜色选择器和可视化工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49036122/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com