标题:常见问题:如何快速方便地给一个程序(或说是form加一个背景图)
作者:leonfeng
日期:2009-05-13 16:21
内容:
我试过用setStyleSheet( "QWidget {background-image: url(:image/bg.png) }");但看不到有任何变化。但我用此方法对按钮进行设置背景图是OK的。
#1 [leonfeng 05-14 17:53]
已解决。自问自答,希望能帮到同问此问题的人
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);
}
#2 [jzj139 05-14 17:57]
呵呵 比较诡异的方法吧
#3 [yang_huafeng 05-19 14:55]
在paintEvent中用painter画还直观些