PyQt/美化
2018-12-28 20:50:07 +08:00
..
Effect 更新美化界面目录 2018-11-01 13:49:04 +08:00
QCalendarWidget update 2018-12-28 20:50:07 +08:00
QFileSystemModel update 2018-12-28 20:50:07 +08:00
QLabel update 2018-12-28 20:50:07 +08:00
QMessageBox update 2018-12-28 20:50:07 +08:00
QProgressBar update 2018-12-28 20:50:07 +08:00
QPushButton update 2018-12-28 20:50:07 +08:00
QScrollBar update 2018-12-28 20:50:07 +08:00
QSlider 更新美化界面目录 2018-11-01 13:49:04 +08:00
QWidget update 2018-12-28 20:50:07 +08:00
README.md 更新美化界面目录 2018-11-01 13:49:04 +08:00

界面美化

QCalendarWidget

对日历控件的部分控件进行QSS美化顶部背景颜色和高度上下月按钮、月份选择、年选择、菜单 CalendarWidget.py

截图

QFileSystemModel

修改QFileSystemModel的文件类型图标

使用QFileSystemModel.setIconProvider(QFileIconProvider)来设置图标提供类

通过重写QFileIconProvidericon方法来决定返回什么样的图标

见需求 Issues#2

截图

QLabel

1. 圆形图片

使用QPaintersetClipPath方法结合QPainterPath对图片进行裁剪从而实现圆形图片。

截图

QMessageBox

美化按钮以及增加图片显示

1. 方案一

  1. 该方案使用dialogbuttonbox-buttons-have-icons: 1;开启自带的图标样式
  2. 再利用dialog-xx-icon: url();来设置自定义的图标, 具体参考list-of-icons
  3. 缺点 部分按钮图标无效,无法自定义不同按钮的颜色

截图

2. 方案二

  1. 采用样式表中的属性选择器QPushButton[text="xxx"]可以根据按钮中的文字来区分
  2. 在利用属性样式qproperty-icon: url();来设置自定义图标
  3. 解决方案一的缺点

截图

QProgressBar

各种进度条的美化和自定义

1. 简单样式表美化

主要改变背景颜色、高度、边框、块颜色、边框、圆角

截图

2. 水波纹进度条

截图

3. 圆圈进度条

截图

4. 百分比进度条

截图

5. Metro进度条

截图

QPushButton

1. 按钮常见样式

主要改变背景颜色、鼠标按下颜色、鼠标悬停颜色、圆角、圆形、文字颜色

截图

2. 按钮进度动画

  1. 按钮字体旋转动画

    利用字体使用FontAwesome字体来显示一个圆形进度条然后利用旋转动画

    截图

  2. 按钮底部线条动画

    在按钮下方画一条线,根据百分值绘制

    截图

QScrollBar

使用QSS和图片对滚动条进行美化

截图截图

QSlider

1. 通过QSS美化

截图

2. paintEvent绘制

截图

Effect

特效

1. 图片按钮输入框阴影

1.通过setGraphicsEffect设置控件的边框阴影 2.继承QGraphicsDropShadowEffect实现增加动态属性radius 3.通过QPropertyAnimation属性动画不断改变radius的值并调用setBlurRadius更新半径值

截图

QWidget

解决继承后的QWidget无法设置样式

  • 1.重写paintEvent
  • 2.设置Qt.WA_StyledBackground属性

截图