PyQt(Python+Qt)学习随笔:使用QColorDialog.getColor交互设置部件的颜色
2023-09-27 14:26:56 时间
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!
相关文章
- 改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论文复现】
- PyQt(Python+Qt)学习随笔:QLineEdit行编辑器功能详解
- PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件设置tabsClosable后不能关闭选项卡的原因
- PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法
- PyQt(Python+Qt)学习随笔:QTreeWidget的columnCount属性
- PyQt(Python+Qt)学习随笔:QTreeWidgetItem项下子项的指示符展示原则childIndicatorPolicy
- PyQt(Python+Qt)学习随笔:QListWidgetItem的重要方法
- PyQt(Python+Qt)学习随笔:QListWidget插入项的insertItem方法
- PyQt(Python+Qt)学习随笔:QListWidget查找项的findItems方法
- PyQt(Python+Qt)学习随笔:QStandardItemModel指定行和列创建模型中的项以及索引
- PyQt(Python+Qt)学习随笔:model/view架构中的两个标准模型QStandardItemModel和QFileSystemModel
- PyQt(Python+Qt)学习随笔:QTableView的cornerButtonEnabled属性
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性
- 第15.17节 PyQt(Python+Qt)入门学习:PyQt图形界面应用程序的事件捕获方法大全及对比分析
- PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑
- PyQt(Python+Qt)学习随笔:QAbstractItemView的selectionMode属性
- PyQt(Python+Qt)学习随笔:QAbstractItemView的editTriggers属性以及平台编辑键(platform edit key )
- PyQt(Python+Qt)学习随笔:使用QtWidgets.qApp实现在程序中随时访问应用的方法
- PyQt(Python+Qt)学习随笔:布局控件layoutStretch属性
- PyQt(Python+Qt)学习随笔:Qt Designer组件属性编辑界面中对话窗QDialog的modal属性
- 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的layoutDirection属性
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性