Python 高级梯度
我想做一个简单的颜色选择器。起初,它由r、g、b和h、s、l滑块组成,但后来我决定使用更常见的选择器,即带有色调滑块的选择器,以及类似于此图像中的东西 这是我第一次处理颜色/渐变,尝试用QlineArgradent制作并实现渐变,但意识到渐变不是这样工作的。我不知道如何以编程的方式绘制图片中的渐变。我怎样才能画出这样的东西?我说的不是制作颜色选择器本身,而是图像中的渐变 以下是我尝试过的Python 高级梯度,python,python-3.x,pyside2,Python,Python 3.x,Pyside2,我想做一个简单的颜色选择器。起初,它由r、g、b和h、s、l滑块组成,但后来我决定使用更常见的选择器,即带有色调滑块的选择器,以及类似于此图像中的东西 这是我第一次处理颜色/渐变,尝试用QlineArgradent制作并实现渐变,但意识到渐变不是这样工作的。我不知道如何以编程的方式绘制图片中的渐变。我怎样才能画出这样的东西?我说的不是制作颜色选择器本身,而是图像中的渐变 以下是我尝试过的 import sys from PySide2.QtCore import * from PySide2.
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
import pathlib
import customColorsList
class widget(QWidget):
def __init__(self):
super(widget, self).__init__()
self.resize(300, 300)
self.setStyleSheet("background: qlineargradient("
"x1:0, y1:0,"
"x2:1, y2:1,"
"stop:0 white,"
"stop:0.5 green,"
"stop:1 black);")
if __name__ == '__main__':
app = QApplication(sys.argv)
w = widget()
w.show()
sys.exit(app.exec_())
使用简单的渐变无法实现这一点,但可以使用基本构图,颜色为水平QlineArgent,黑色为垂直分量 基本概念如下:
self.gradient = QtGui.QLinearGradient(0, 0, 1, 0)
self.gradient.setCoordinateMode(QtGui.QGradient.ObjectBoundingMode)
self.gradient.setColorAt(0, QtCore.Qt.white)
self.gradient.setColorAt(0, QtCore.Qt.green)
self.overlay = QtGui.QLinearGradient(0, 0, 0, 1)
self.overlay.setCoordinateMode(QtGui.QGradient.ObjectBoundingMode)
self.overlay.setColorAt(0, QtCore.Qt.transparent)
self.overlay.setColorAt(1, QtCore.Qt.black)
在下面的示例中,我实现了一个显示颜色的基本小部件和一个更改颜色的简单界面:
使用简单的渐变无法实现这一点,但可以使用基本构图,颜色为水平QlineArgent,黑色为垂直分量 基本概念如下:
self.gradient = QtGui.QLinearGradient(0, 0, 1, 0)
self.gradient.setCoordinateMode(QtGui.QGradient.ObjectBoundingMode)
self.gradient.setColorAt(0, QtCore.Qt.white)
self.gradient.setColorAt(0, QtCore.Qt.green)
self.overlay = QtGui.QLinearGradient(0, 0, 0, 1)
self.overlay.setCoordinateMode(QtGui.QGradient.ObjectBoundingMode)
self.overlay.setColorAt(0, QtCore.Qt.transparent)
self.overlay.setColorAt(1, QtCore.Qt.black)
在下面的示例中,我实现了一个显示颜色的基本小部件和一个更改颜色的简单界面: