• 8771阅读
  • 7回复

有关添加背景图片的问题---在线等,急! [复制链接]

上一主题 下一主题
离线dulang133266
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-14
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
各位大虾:
    我需要在 QT Designer 中的主窗口中添加背景图片,该如何操作呢?
ui文件中将会显示什么样的代码呢?

在线等,急,谢谢各位了!
离线rockyluo

只看该作者 1楼 发表于: 2008-11-14
designer实现不了  得自己码代码
法一:自己写paintEvent事件
void Form1::paintEvent( QpaintEvent* )
{
    Qpixmap image( “logo.png” );
    Qpaint paint;
    paint.begin( this );
    //paint.scale(0.5,0.6);    //对图像进行缩小和放大,括号中为缩小和放大倍数
    paint.drawPixmap( 500,300,image );
    paint.end( );
}
法二:在主窗口上加一个QLabel,用QLabel来显示
QLabel *label=new QLabel(this);
QPixmap pm("背景图绝对路径");
label->setPixmap(pm);
                                                                                                              我们要团结一心,秉承Linux的开源精神,共享Qt问题的解决方法!
离线rockyluo

只看该作者 2楼 发表于: 2008-11-14
当然  上面两种是两种最笨的办法
最直接的就是void QWidget::setPaletteBackgroundPixmap ( const QPixmap & )
我没用过  自己试下
http://www.qtopia.org.cn/doc/qiliang.net/qt/qwidget.html#setPaletteBackgroundPixmap
                                                                                                              我们要团结一心,秉承Linux的开源精神,共享Qt问题的解决方法!
离线duduqq

只看该作者 3楼 发表于: 2008-11-14
QPixmap loadPixmap(":/loadwindow.png") ;
    setMask(loadPixmap.mask());
    //QPainter showPaint(&loadPixmap);
    QPalette palette ;
    palette.setBrush(QPalette::Window,QBrush(loadPixmap));
    setPalette(palette);
离线aven152273

只看该作者 4楼 发表于: 2008-11-14
二楼说的方法很精彩!!!
就是那样子实现,虽然麻烦了点。

当然也可以用designer的自身带的属性更改,来改变背景图片。
离线wd007

只看该作者 5楼 发表于: 2009-01-08
写一个继承自QGraphicsView的类,加载图片,将此类作为中心部件就行了
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线swift
只看该作者 6楼 发表于: 2009-01-09
将图片显示出之后,怎么样才能保证当窗体放大或缩小时,图片也能放大缩小!
离线wd007

只看该作者 7楼 发表于: 2009-01-10
窗体的中心部件自己有布局管理器,不用操心
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
快速回复
限100 字节
 
上一个 下一个