PyQt中的部件只要是QWidget的派生类都可以在Designer或应用中通过palette属性来设置各种颜色角色不同状态的颜色,但使用palette比较麻烦,要按不同颜色角色设置palette的QBrush。另外也有部分部件提供了文本前景色或部件背景色的属性,但比较少。

如果针对以上部件要让最终用户自己设置颜色怎么办?要设置颜色首先需要选择颜色,其实PyQt提供了很方便的颜色设置对话框类QColorDialog,应用可以在需要最终用户设置颜色的地方,使用QColorDialog来创建一个对象,然后通过selectedColor就可以返回用户选择的颜色。另外还提供了一个非常便利的类方法,实例都无需创建直接使用即可,这个方法就是getColor。

调用语法

  • getColor(initialColor = Qt.white, parent: QWidget = None, title: str = ‘’, options: QColorDialog.ColorDialogOptions())
说明:
  • 参数initialColor 为初始颜色
  • 参数parent为父窗口,可以为None
  • 参数title为对话框的title显示信息
  • options:控制对话框的外观的可选设置,具体参考官网文档关于枚举类型 QColorDialog.ColorDialogOptions的介绍
  • 当点击对话框的OK按钮返回时返回值为用户选择的颜色,点击Cancel按钮返回时,返回一个无效的颜色,该颜色使用QColor.isValid() 方法返回False,

代码案例:

 color = self.edit.textColor()
color = QtWidgets.QColorDialog.getColor(color,self,"文本颜色设置") if color.isValid():
self.edit.setTextColor(color)

老猿Python,跟老猿学Python!

PyQt(Python+Qt)学习随笔:使用QColorDialog.getColor交互设置部件的颜色的更多相关文章

  1. PyQt(Python+Qt)学习随笔:Designer中属性设置界面的属性字体使用粗黑体的含义

    老猿Python博文目录 老猿Python博客地址 使用了好几个月的Designer,今天才发现属性编辑界面的属性名有的为粗而黑,有的则不是,如图: 稍微测试了一下,发现是对属性值进行过调整,不再是缺 ...

  2. PyQt(Python+Qt)学习随笔:Designer中ItemViews类部件的frameShadow属性

    老猿Python博文目录 老猿Python博客地址 frameShadow属性是从QFrame继承的属性,对应类型为QFrame.Shadow,该属性表示框架提供三维效果的阴影类型,有如下取值: 可以 ...

  3. PyQt(Python+Qt)学习随笔:Designer中ItemViews类部件frameShape属性

    老猿Python博文目录 老猿Python博客地址 frameShape属性是从QFrame继承的属性,对应类型为QFrame.Shape,该属性表示框架样式中的框架形状,有如下取值: 老猿Pytho ...

  4. PyQt(Python+Qt)学习随笔:利用QWidget部件的palette以及ColorGroup、colorRole局部调整部件的特定范围颜色

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<PyQt(Python+Qt)学习随笔:QWidget部件的 ...

  5. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...

  6. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性

    老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...

  7. PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响

    老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系&g ...

  8. PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系

    老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragE ...

  9. PyQt(Python+Qt)学习随笔:视图中的拖放操作注意事项

    老猿Python博文目录 老猿Python博客地址 在通过PyQt构建的图形界面中进行拖放,要成功进行拖放需要注意: 视图相关属性需要支持拖放,具体相关属性请参考<PyQt(Python+Qt) ...

随机推荐

  1. Android Google官方文档解析之——Device Compatibility

    Android is designed to run on many different types of devices, from phones to tablets and television ...

  2. nginx安装 linux

    1.安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.创建一个文件夹 cd /usr/local m ...

  3. MyBatis 中 @Param 注解的四种使用场景

    https://juejin.im/post/6844903894997270536 第一种:方法有多个参数,需要 @Param 注解 第二种:方法参数要取别名,需要 @Param 注解 第三种:XM ...

  4. 微信公众号Makrdown编辑器,语法你懂吗?

    感谢 WeChat Format 源码: https://github.com/lyricat/wechat-format! 其他工具推荐: 微信公众号编辑器 Makrdown: https://md ...

  5. 内核crash>>>磁盘空间小 怎么处理

    在内存发生panic时,需要把panic的日志保存下来.以方便日后进行分析. 一般主机为x86的时候,panic 使用 kdump保存log.由于它使用占用大量内存和硬盘.所以当磁盘空间不够时,就会遇 ...

  6. 僵尸进程与SIGCHLD信号

    什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息.这些信息至少包括进程ID,进程的终止状态,以及该 ...

  7. close与shutdown

    首先看一个例子,如下图所示: 当我们客户端发送ABCD再close套接字的时候,服务器端的接收通道也被关闭了,将无法接收ABCD的数据.如果想要仅仅关闭发送通道,保留接收通道,可以使用shutdown ...

  8. menuconfig

    1. menuconfig 的存在意义 原由是 项目的 config 项太多了,需要一个人性化的方式设置. menuconfig 背后是一个应用程序,用户和该应用程序交互,完成 config 设置. ...

  9. python之路 《四》 字典

    python中的字典使得python来解决问题变得更方便,顾名思义,就是当我知道关键字(key)那么我就可以通过key来找到与之对应的信息. 简单的来说字典是另一种可变容器模型,且可存储任意类型对象. ...

  10. 深度解读最新版 Scrum 指南

    本文作者:CODING - 敏杰小王子 11 月 18 日晚,Scrum 框架的创始人 Jeff Sutherland 和 Ken Schwaber 联手发布了最新版 Scrum 指南.作为 Scru ...