1. 使用QPalette
// 设置背景图片
setAutoFillBackground(true); // 这句要加上, 否则可能显示不出背景图.
QPalette palette = this->palette();
//palette.setColor(QPalette::Window, Qt::red); // 设置背景色
//palette.setBrush(this->backgroundRole(), Qt::black);// 设置背景色
palette.setBrush(QPalette::Window,
QBrush(QPixmap(":/image/bkg.png").scaled( // 缩放背景图.
this->size(),
Qt::IgnoreAspectRatio,
Qt::SmoothTransformation))); // 使用平滑的缩放方式
this->setPalette(palette);
2. 使用QPainter直接绘制背景图
void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
// 背景图片
painter.drawPixmap(0,0,width(),height(),QPixmap(":/image/bkg.png"));
// 窗口背景色
// painter.setBrush(Qt::black);
// painter.drawRect(this->rect());
}
3. 使用QSS设置
setStyleS