要绘制HSV取色板,一般通过绘制前景色和背景色的方式实现,先绘制前景,然后绘制背景,前景是HSV颜色空间,从左到右,背景是亮度,从上到下,xs和ys是鼠标的当前的位置。

    def graphicsView_rgb_palette(self,xs,ys):
try:
rect = QRectF(, , self.graphicsView_color_palette.width() - ,
self.graphicsView_color_palette.height() - )
self.graphicsView_color_palette_scene = QGraphicsScene(rect) # 创建场景
self.graphicsView_color_palette.setScene(self.graphicsView_color_palette_scene)
#前景,HSV空间 ,从360到0
colorGradient = QLinearGradient(, , self.graphicsView_color_palette.width(),)
colorGradient.setSpread(QGradient.RepeatSpread);
colorGradient.setColorAt(, QColor(, , , ));
colorGradient.setColorAt(0.166, QColor(, , , ));
colorGradient.setColorAt(0.333, QColor(, , , ));
colorGradient.setColorAt(0.5, QColor(, , , ));
colorGradient.setColorAt(0.666, QColor(, , , ));
colorGradient.setColorAt(0.833, QColor(, , , ));
colorGradient.setColorAt(, QColor(, , , )); #背景,调节亮度,最上面透明,最下面白色
blackGradient = QLinearGradient(, , ,self.graphicsView_color_palette.height())
blackGradient.setSpread(QGradient.RepeatSpread);
blackGradient.setColorAt(,QColor(,,,));
blackGradient.setColorAt(, QColor(,,,));
#绘制取色板鼠标指示点
item = QGraphicsEllipseItem(-, -, , ) # 创建椭圆--场景坐标
item.setPos(xs, ys) # 给图元设置在场景中的坐标(移动图元)--图元中心坐标
item.setBrush(Qt.black) # 设置画刷
#
self.graphicsView_color_palette_scene.setBackgroundBrush(colorGradient); #设置前景色
self.graphicsView_color_palette_scene.setForegroundBrush(blackGradient); #设置背景色 self.graphicsView_color_palette_scene.addItem(item)
self.graphicsView_color_palette_scene.clearSelection() # 【清除选择】
except Exception as e:
self.UART_Display_Text(str(e))

pyqt5 通过QLinearGradient 绘制取色板的更多相关文章

  1. PyQt5利用QPainter绘制各种图形

    这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握 ...

  2. iOS_24_画画板(含取色板)

    终于效果例如以下: 一.简单说明 1.使用一个数组 strokesArr(笔画数组)记录全部笔画.数组中保存的是一个个的笔画字典,一个字典就是一个笔画.笔画字典中有三项:笔画的大小.颜色.points ...

  3. canvas教程(二) 绘制直线

    经过 canvas 教程(一) 简介 我们知道了 canvas 的一些基本情况 而本次是给大家带来直线的绘制 canvas 中,基本图形有两种,一种是直线,还有一种是曲线 但是无论是直线还是曲线,我们 ...

  4. ios项目里扒出来的json文件

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

  5. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  6. iOS及Mac开源项目和学习资料【超级全面】

    UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...

  7. iOS:iOS开发非常全的三方库、插件等等

    iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...

  8. 推荐10款非常优秀的 HTML5 开发工具

      HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式.今天这篇文章向大家推荐10款 ...

  9. iOS开发--iOS及Mac开源项目和学习资料

    文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...

随机推荐

  1. SpringBoot学习- 7、问题Could not autowire. No beans of 'xxxx' type found处理

    SpringBoot学习足迹 这个问题网上有好多同学都提到这个问题,代码可以运行,但是就是有红线,强迫症不能忍 自己试验下 1.增加一个final编译一下,再删掉就不会出红线了 public clas ...

  2. 理解 nodeJS 中的 buffer,stream

    在Node.js开发中,当遇到 buffer,stream,和二进制数据处理时,你是否像我一样,总是感到困惑?这种感觉是否会让你认为不了解它们,以为它们不适合你,认为而这些是Node.js作者们的事情 ...

  3. JS高级---沙箱

    沙箱 沙箱: 环境, 黑盒, 在一个虚拟的环境中模拟真实世界, 做实验, 实验结果和真实世界的结果是一样, 但是不会影响真实世界     全局变量 var num=10; console.log(nu ...

  4. python之路模块简介及模块导入

    ================================添加sys.path路径================================================== ===== ...

  5. Nessus安装出现localhost:8834无法访问

    1.下载Nessus https://www.tenable.com/downloads/nessus#download 2.安装方法 详细安装方法参考下文 https://www.ld80.cn/a ...

  6. 《Mongo权威指南》学习手记

    1.ObjectId: 是“_id”的默认类型.mongo没有用自增主键原因:多个服务器同步自动增加主键值费时费力. mongo初衷是作分布式数据库,所以能在分片环境中生成唯一的标示符非常重要. Ob ...

  7. [P4549] 【模板】裴蜀定理 - GCD

    __gcd真好用 #include <bits/stdc++.h> using namespace std; int main() { int n,x,a=0; cin>>n; ...

  8. C语言-字符串典型问题分析

    1.典型问题一 下面的程序输出什么为什么? #include <stdio.h>      int main()   {       ] = {};       char src[] =  ...

  9. 解决使用git出现 The file will have its original line endings in your working directory

    执行以下命令即可解决 git rm -r --cached . git config core.autocrlf false git add . . 代表当前目录

  10. 今天我解决的sql中文乱码问题

    昨天我终于把我的网站做好了,在电脑上准备就绪,经过测试一切正常,放上服务器上准备炫耀一下的时候,发现插进数据库的中文字段全都变成???了,检测了下,前台是utf-8,后台是utf-8,在插进数据库前我 ...