窗口背景主要包括,背景色与背景图片,设置窗口背景有三种方法 使用QSS设置窗口背景 使用QPalette设置窗口背景 实现PainEvent,使用QPainter绘制背景 QSS设置窗口背景 在QSS中,我们可以使用Background或者background-color的方式来设置背景色,设置窗口背景
窗口背景主要包括,背景色与背景图片,设置窗口背景有三种方法
QSS设置窗口背景在QSS中,我们可以使用Background或者background-color的方式来设置背景色,设置窗口背景色之后,子控件默认会继承父窗口的背景色,如果想要为控件设置背景图片或图标,则可以使用setPixmap或则setIcon来完成。关于这两个函数的用法,可以参考本博客下的PyQt5的基础控件分栏 实例:QSS设置窗口背景
运行效果图如下
核心代码如下
优化 使用setStyleSheet()设置窗口背景色,核心代码和效果图如下
QPalette设置窗口背景当使用QPalette(调试板)来设置背景图片时,需要考虑背景图片的尺寸 图片尺寸可以文件管理器打开,右键属性查看 当背景图片的宽度高度大于窗口的宽度高度时,背景图片会平铺整个背景 当背景图片宽度高度小于窗口的宽度高度时,则会加载多个背景图片 实例:QPalette设置窗口背景
当背景图片的宽度高度大于窗口的宽度高度时,背景图片会平铺整个背景
当背景图片宽度高度小于窗口的宽度高度时,则会加载多个背景图片
核心代码如下
PaintEvent设置窗口背景
核心代码:使用paintEvent设置窗口的背景色
效果如图
核心代码:设置窗口背景图片
QWidget类中比较重要的绘图函数如表所示
不规则窗口实例 1实现不规则窗口的最简单方式就是图片素材不仅当遮罩层,还当背景图片,通过重载paintEvent()函数绘制窗口背景
运行效果如下
不规则窗口实例 2使用两张图片,一张用来做遮罩来控制窗口的大小,然后在利用paintEvent()函数重绘另一张为窗口的背景图。
运行效果如下
可以拖动的不规则窗口实例第二个窗口的实例是不可以拖动的,这里实现可以拖动的功能
运行效果如下
|
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27