要绘制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. Tomcatd断点调试Debug

    ideaDebug设置

  2. 3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)

    Now that we understand the outer structure of the file, it's time to look closer to what's inside. T ...

  3. C语言strcmp()函数:比较两个字符串

    strcmp() 函数用于对两个字符串进行比较(区分大小写). 头文件:string.h 语法/原型: int strcmp(const char* stri1,const char* str2); ...

  4. IDEA更换背景颜色与字体

    打开IDEA 选择左上角的File  ->  Setting -> Editor  -> Color Scheme  就可以设置  黑白背景  默认为白色  可以选择  Darcul ...

  5. oracle 锁表处理

    1.查询 select object_name,machine,s.sid,s.serial#from v$locked_object l,dba_objects o ,v$session swher ...

  6. Learn from Niu 2020.1.21

    1. 你一定要看计算机领域的文章. 如果你是看一堆应用,你最终还是会不知道怎么做. 从计算机到energy是降维打击, 当你学习了计算机的hot skill,再去做应用很容易. 2. 搞研究的思路: ...

  7. php自带的密码哈希

    常用的MD5.SHA1.SHA256哈希算法,是面向快速.高效进行哈希处理而设计的.随着技术进步和计算机硬件的提升,如今强大的计算机很容易破解这种算法.也就是说,不要用MD5.SHA1.SHA256这 ...

  8. 在MyEclipse中修改文件名出现问题

    问题描述:An exception has been caught while processing the refactoring 'Rename Compilation Unit'. 问题原因:项 ...

  9. Spring Boot Actuator未授权访问

    当我们发现某一个网页的logo是一篇叶子或者报错信息如下图所示的话,就可以尝试Spring Boot Actuator未授权访问. /dump - 显示线程转储(包括堆栈跟踪) /autoconfig ...

  10. 菜单制作:ul li横向排列

    CSS菜单制作 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...