• 6738阅读
  • 7回复

mainwindow设置背景图 [复制链接]

上一主题 下一主题
离线hover_sky
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-12
mainwindow设置背景图
如何给mainwindow设置背景图,并让这种图片占满整个屏幕,而不是多次重复?
离线tangxunmin

只看该作者 1楼 发表于: 2010-03-12
先自己实现个Widget  用图片填充背景  调用resizeevent    每次改变widget德大小时 调用image 的scale函数   就行了  最后在mainwindow 中使用setcentrlwidget函数   就可以了
离线wjn740
只看该作者 2楼 发表于: 2010-03-12
有没有,详细的,,步骤
离线hover_sky

只看该作者 3楼 发表于: 2010-03-12
这个OK啦
void MainWindow::paintEvent(QPaintEvent *event)
{
    QPixmap pixmaps(":/images/backgroup/mainwindow.png");
    pixmaps=pixmaps.scaled(size.width(),size.height());
    QPainter painter(this);
    painter.drawPixmap(0,0,size.width(),size.height(),pixmaps);
}
[ 此帖被hover_sky在2010-03-12 18:00重新编辑 ]
离线hover_sky

只看该作者 4楼 发表于: 2010-03-12
不知道为什么这样不行?

我在头文件定义一个私有变量QPixmap pixmap;
然后在构造函数
     QPixmap pixmaps(":/images/backgroup/mainwindow.png");
     pixmap=pixmaps.scaled(size.width(),size.height());

然后
void MainWindow::paintEvent(QPaintEvent *event)
{
     QPainter painter(this);
    painter.drawPixmap(0,0,size.width(),size.height(),pixmap);
}

却不行,为什么没有赋值不成功呢?
离线yangfanxing
只看该作者 5楼 发表于: 2010-03-12
路径需确认!
极有可能是src文件组织的问题!!!
PHPWind好恶心。。。不想看这种界面。。。
离线wd007

只看该作者 6楼 发表于: 2010-03-12
引用第4楼hover_sky于2010-03-12 17:52发表的  :
不知道为什么这样不行?
我在头文件定义一个私有变量QPixmap pixmap;
然后在构造函数
     QPixmap pixmaps(":/images/backgroup/mainwindow.png");
.......



你的这个思路很像是MFC里面的顺序。

我想这与窗口的初始化流程有关系,不妨打断点调试看一下。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线hover_sky

只看该作者 7楼 发表于: 2010-03-13
MFC里面的顺序?全局变量而已啊

这样弄,比在paintEvent一次次打开好吧?
快速回复
限100 字节
 
上一个 下一个