逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
关键使用widget的palette的brush.

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

    QApplication a(argc, argv);


    QWidget *widget = new QWidget();

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

    QPalette palette = widget->palette();

    palette.setBrush(QPalette::Window,

                     QBrush(QPixmap("1.png").scaled( // 缩放背景图.

                             widget->size(),

                             Qt::IgnoreAspectRatio,

                             Qt::SmoothTransformation))); // 使用平滑的缩放方式

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


    QHBoxLayout *layout = new QHBoxLayout();

    layout->addWidget(widget);

    QWidget *mw = new QWidget();

    mw->setLayout(layout);

    mw->resize(500, 500);

    //mw->setWindowFlags(Qt::FramelessWindowHint);

    mw->show();


    return a.exec();

}

posted on 2009-05-24 17:20 逛奔的蜗牛 阅读(3529) 评论(1)  编辑 收藏 引用 所属分类: Qt自定义Widget

评论

# re: QtWidget: 给widget加上背景图 2010-08-07 10:13 谢谢
谢谢,正好用上了。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理