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();
却不能显示;
什么显示原理??? 展开
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();
却不能显示;
什么显示原理??? 展开
展开全部
不明白你这段代码放在哪儿的,不过我亲自测试了下能够正确现实的:
#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();
}
#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?但是我这边有这个问题。
追答
是的,只有这么一段代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询