基类为Widget的窗口使用加载资源然后右键单击改变样式表改变的背景图片的方式并不好用,原因setStyleSheet()该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图片!

基类是Dialog和Mainwindow的这样做没问题,但是Widget不行

方法便是将paintEvent事件重写,如下:

void Widget::paintEvent(QPaintEvent *event)
{
QPixmap pixmap = QPixmap(":/backgroud.png").scaled(this->size());
QPainter painter(this);
painter.drawPixmap(this->rect(), pixmap);

}

这样就可以了.