1 说明widget要想使背景图片拉伸自适应大小,setsheetstyle的时候应该使用border-image,而不是background-image,如果使用的background-image那么图片会以填充的方式自适应大小
2 QLabel 的pixmap自适应大小 setScaledContents(true);
1 说明widget要想使背景图片拉伸自适应大小,setsheetstyle的时候应该使用border-image,而不是background-image,如果使用的background-image那么图片会以填充的方式自适应大小2 QLabel 的pixmap自适应大小 setScaledContents(true);
import sys
from PyQt5.Qt
Widget
s import (
QWidget
, QHBoxLayout, QLabel, QApplication)
from PyQt5.QtGui import QPixmap
class Example (
QWidget
):
def __init__(self):
super ().__init__ ()
self.initUI ()
def initUI(self):
hbox = QHBoxLayout (self)
lbl = QLabel (self)
pixmap = QPixmap (E:\progr
QWidget
窗体
设置
背景颜色、背景图、及其注意点前言一、使用调色板QPalette来
设置
图片二、使用样式表QSS三、使用画笔Qpainter在paintEvent事件中绘制图片
QT
设置
背景图笔录
一、使用调色板QPalette来
设置
图片
该方法对设有样式表的
QWidget
对象不会生效
首先获得
Widget
的调色板,再
设置
调色板背景(setBrush),最后将调色板
设置
到
Widget
中
//获得
widget
的palette
QPalette palette = this->pal
想要图片跟随窗口
自适应
大小
,首先我们先对
QWidget
进行网格布局,布局效果如下:
布局完成后添加 QLabel 代码,新建 QLabel 并且
设置
为可扩展内容,再
设置
图片放置最后面,否则会图片在最前面会遮挡控件。
label = new QLabel(this); // 新建一个标签
label->setScaledContents(true); //
设置
标签为可扩展内容
label->setPixmap(QPixmap("2.png"));
在自定义
widget
中,通过setSheetStyle
设置
的
背景图片
没有效果,必须加一层QFrame
定义一个QFrame,
设置
QFrame的 sheetstyle
同时
设置
widget
setAutoFillBackground(true);
QString fileName = QFileDialog::getOpenFileName(this,
tr("open iamge"),//对话框名称
".",//默认打开文件位置“.”文件目录"/"根目录
tr("image files(*.jpg *.png *.bmp)"));//筛选器
QPixmap image(fileName);
自适...
在窗口程序中,当我们改变窗口
大小
的时候,
背景图片
通常会岁窗口
大小
变化而缩放
然而,在我们写的窗口程序中,
设置
背景图片
后,如果缩放
大小
,会看到
背景图片
并不会随之缩放,
应为这需要特殊处理,一般常用的方法就是 改变设为
背景图片
的 pixmap 的
大小
,在发生resize事件的时候,
将改变完
大小
的pixmap重新
设置
为有新size窗口的
背景图片
///////////////////...
QMainWindow {
background-image: url(:/images/background.png);
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
QMainWindow::central
Widget
{
background-color: transparent;
在这个例子中,`QMainWindow` 是窗口的样式类,`:central
Widget
` 是窗口的中心部件的样式类。`background-image` 属性
设置
背景图片
路径。`background-repeat` 属性
设置
背景图片
不重复。`background-position` 属性
设置
背景图片
在窗口中心。`background-attachment` 属性将
背景图片
固定在窗口。`background-color` 属性
设置
中心部件的背景颜色为透明。
这个样式表会让
背景图片
自适应
窗口
大小
。你可以根据自己的需要,调整样式表中的属性来达到自己想要的效果。