Qt Creator和主窗口背景图像

Saf*_*ari 5 user-interface qt qt-creator

我想添加一个图像作为我的主窗口的背景.

添加此背景图像的最佳方法是什么?

我的主窗口的其余部分必须是透明的.

我想通过QtCreator编辑器执行此操作(因此,对于此组件,没有代码)

Bar*_*uda 13

您可以MainWindow通过执行以下操作向您添加背景图像:

  1. 创建一个QPixmap并为其提供图像的路径.
  2. 用你的像素图创建一个QPalette并设置它就可以了.QBrushColorRoleQPalette::Background
  3. 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);
}
Run Code Online (Sandbox Code Playgroud)

这个的优点是你能够以编程方式修改/更改背景图像,而无需使用或学习任何CSS样式表语法.


ari*_*wez 8

在编辑主窗口窗体时找到styleSheet属性,并输入如下内容:

background: url(:/path/to-your-resource.png)
Run Code Online (Sandbox Code Playgroud)