
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"))
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)