• 4628阅读
  • 3回复

常见问题:如何快速方便地给一个程序(或说是form加一个背景图) [复制链接]

上一主题 下一主题
离线leonfeng
 
只看楼主 倒序阅读 楼主  发表于: 2009-05-13
我试过用setStyleSheet( "QWidget {background-image: url(:image/bg.png) }");但看不到有任何变化。但我用此方法对按钮进行设置背景图是OK的。
离线leonfeng
只看该作者 1楼 发表于: 2009-05-14
已解决。自问自答,希望能帮到同问此问题的人

1.在要换背景的类的构造函数中装载一个图片,变量要为全局的,接下来会用到
     _image.load(":image/bg.png");
         setAutoFillBackground(true);
         QPalette pal(palette());
2.实现resizeEvent函数,在里面画背景
void Example::resizeEvent(QResizeEvent *event)
{
    QWidget::resizeEvent(event);
    QPalette pal(palette());
    pal.setBrush(QPalette::Window,QBrush(_image.scaled(event->size(), Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));
    setPalette(pal);
}
离线jzj139
只看该作者 2楼 发表于: 2009-05-14
呵呵 比较诡异的方法吧
qt
离线yang_huafeng

只看该作者 3楼 发表于: 2009-05-19
在paintEvent中用painter画还直观些
QT使用中...
快速回复
限100 字节
 
上一个 下一个