我想添加一个图像作为我的主窗口的背景。
添加此背景图像的最佳方法是什么?
我的主窗口的其余部分必须是透明的。
我想通过QtCreator
编辑器来做这个(对于这个组件,因此,没有代码)
我想添加一个图像作为我的主窗口的背景。
添加此背景图像的最佳方法是什么?
我的主窗口的其余部分必须是透明的。
我想通过QtCreator
编辑器来做这个(对于这个组件,因此,没有代码)
您可以MainWindow
通过执行以下操作将背景图像添加到您的:
QPixmap
并为其提供图像的路径。QPalette
设置它,它是.QBrush
ColorRole
QPalette::Background
MainWindow
调色板设置为您创建的调色板。例如,您可以将此行添加到MainWindow
类的构造函数中:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPixmap bkgnd("/home/user/Pictures/background.png");
bkgnd = bkgnd.scaled(this->size(), Qt::IgnoreAspectRatio);
QPalette palette;
palette.setBrush(QPalette::Background, bkgnd);
this->setPalette(palette);
}
这样做的好处是您能够以编程方式修改/更改背景图像,而无需使用或学习任何 css 样式表语法。
在编辑主窗口表单时,找到styleSheet属性,然后输入如下内容:
background: url(:/path/to-your-resource.png)
如果您创建了一个<QGraphicsScene>
例如。scene
在您的主窗口中,然后您可以执行scene->setBackgroundBrush(QBrush(QImage(":/path/to/img.extension")));
. 您需要首先将图像作为 QT 资源添加到项目中,并在路径/参数中使用:
.
您应该提供一个符合您之前应该设置的场景尺寸的图像,例如。scene->setSceneRect(0,0,myWidth,myHeight);
.