• 7233阅读
  • 1回复

QT 背景全屏平铺问题! [复制链接]

上一主题 下一主题
离线leafies
 
只看楼主 倒序阅读 楼主  发表于: 2011-07-21
— 本帖被 XChinux 从 Qt安装与发布 移动到本区(2011-07-21) —
测试 qt widget 背景色图片平铺问题
代码如下:
#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QBitmap>
#include <QHBoxLayout>

int main(int argc, char *argv[]) {

    QApplication a(argc, argv);



    QWidget *widget = new QWidget();

    widget->setAutoFillBackground(true); // 这句要加上, 否则可能显示不出背景图.

    QPalette palette = widget->palette();

    //palette.setColor(QPalette::Background, QColor(192,253,123));

    palette.setBrush(QPalette::Background, QBrush(QPixmap(":images/1.jpg")));

    widget->setPalette(palette); // 至此, 已给widget加上了背景图.


    QHBoxLayout *layout = new QHBoxLayout();

    layout->setSpacing(0);

    layout->addWidget(widget);

    QWidget *mw = new QWidget();

    mw->setLayout(layout);

    mw->resize(800, 800);

    mw->setWindowFlags(Qt::SplashScreen);

    mw->show();

    return a.exec();

}

编译运行,如图:


为什么在这个四周还有个灰色的边框?

这个是由于什么造成的 ?
怎么修改?
谢谢!~
离线kimtaikee

只看该作者 1楼 发表于: 2011-07-21
那是由于layout 默认是11像素的边缘,调用layout->setContentsMargin(0,0,0,0)

快速回复
限100 字节
 
上一个 下一个