QString qss = R"(
QWdiget
{
background: url(bg.jpeg);
}
)";
setStyleSheet(qss);
对于上述代码,运行效果并没有显示背景图片。 解决的方法是重写 paintEvent函数。
#include <QStyleOption>
#include <QPainter>
#include <QStyle>
void Widget::paintEvent(QPaintEvent* event)
{
QStyleOption op;
op.initFrom(this); // 初始化op对象
QPainter p(this);
/*
style(): 返回当前部件的样式,在Qt中是由QStyle表示的
QStyle::PE_Widget: 绘制部件本身
*/
style()->drawPrimitive(QStyle::PE_Widget, &op, &p, this);
}
这样,背景图片就能绘制出来了