Qt之改变窗口背景图片

基类为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);

}

这样就可以了.

全部评论

相关推荐

牛客小菜鸡66:boss里面,招人的叫老板,找工作的叫牛人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务