QT怎么给控件设置背景图片

QT怎么给控件设置背景图片,第1张

1 MLCNWidget *w=new MLCNWidget

w->setAutoFillBackground(true)

QPalette palette

palette.setBrush(w->backgroundRole(), QBrush(QPixmap("./pic/new_images/bg.jpg")))

w->setPalette(palette)

w->showFullScreen()

2 使用QSS

控件->setStyleSheet("background-image:url(./pic/new_images/start_jiankong.png)")

这样做的一个缺点是一旦在一个控件中使用StyleSheet了,其中的子控件就全部会继承,也就是在上面显示主控件的背景了。在网上看到可以通过*{}的方式防止继承,但我试了下,没成功,不知道到底行不行。

3 关于label上加图片的

估计除了widget,加的最多的就是QButton和QLabel了,QLabel里面看QT文档可以发现有个槽,setPixmap,用了下,特别好用。

ui.label_5->setPixmap(QPixmap("./pic/new_images/start_jiankong.png"))

3种方法

//方法一: 直接重写主窗口的paintEvent事件,然后用QPainter绘制即可

QRectF rectangle(10.0, 20.0, 60.0, 60.0)

int startAngle = 0* 16

int spanAngle = 360* 16

QPainter painter(this)

painter.drawArc(rectangle, startAngle, spanAngle)

// 方法二:新建一个QWidget类,重写paintEvent方法,同样画圆,然后将这个类添加进来

// 或者是UI的话,提升控件即可。

// 代码同方法一

// 方法三: 用背景图片进行样式设置。

左边图片部分用QLabel。它有个接口可以显示QPixmap。

label.setPixmap(QPixmap("path/to/your/image/"))

如果是动态图,也可以加载入进去。

label.setMovie(QMovie("path/to/your/gif"))


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11474822.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存