QT背景图片问题,QWidget设置背景,也可以自己提出方法,别用setStyleSheet。看补充的问题。

QWidget*widget=newQWidget();widget->setAutoFillBackground(true);QPalettepalette;palet... QWidget *widget = new QWidget();
widget->setAutoFillBackground(true);

QPalette palette;
palette.setBrush(QPalette::Window, QBrush(QPixmap(":/bj.png"));

widget->setPalette(palette);
// --111
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(widget);

QWidget *w = new QWidget();
w->setLayout(layout);
// --111
w->resize(100, 100);
w->show();

为什么需要把它加到另一个widget上才可以显示图片,而直接这样:

QWidget *widget = new QWidget();
widget->setAutoFillBackground(true);

QPalette palette;
palette.setBrush(QPalette::Window, QBrush(QPixmap(":/bj.png"));

widget->setPalette(palette);
widget->show();
却不能显示;

什么显示原理???
展开
 我来答
XY_WLL
2012-09-05 · TA获得超过139个赞
知道小有建树答主
回答量:118
采纳率:100%
帮助的人:113万
展开全部
不明白你这段代码放在哪儿的,不过我亲自测试了下能够正确现实的:
#include <QtGui/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *widget = new QWidget();
widget->setAutoFillBackground(true);
QPalette palette;
QPixmap pixmap(":/Resources/Penguins.jpg");
palette.setBrush(QPalette::Window, QBrush(pixmap));
widget->setPalette(palette);
widget->show();
return a.exec();
}
追问
你图形界面是不是就一个QWidget?但是我这边有这个问题。
追答
是的,只有这么一段代码。
pk51983
2012-09-05 · TA获得超过2925个赞
知道小有建树答主
回答量:1934
采纳率:0%
帮助的人:852万
展开全部
高端人士,膜拜ing
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式