无法更改主窗口的背景图像

时间:2014-12-04 17:20:27

标签: qt

我是QT的新手,在更改主窗口的背景图片时遇到了一些麻烦。我的代码导致编译程序,但没有任何图像。

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setStyleSheet("background-image: url(:/res/images/background.png);");

}

MainWindow::~MainWindow()
{
    delete ui;
}

enter image description here

3 个答案:

答案 0 :(得分:3)

示例

1 - 创建资源文件(或打开现有文件)。

enter image description here

2 - 在前缀下添加背景图片。

enter image description here在这种情况下,前缀为" /"。

3 - 保存

4 - 现在您可以在样式表中使用该资源。

this->setStyleSheet("background-image: url(:/res/bkg.png);");

5 - 重建并运行。

备注 :请记住,样式表是级联的。因此,在您的情况下,主窗口及其所有子窗口将使用该背景,除非在较低级别指定其他窗口。如果需要更多控制,你必须注意这一点并正确使用选择器。

答案 1 :(得分:0)

无需引用qrc文件。删除以下行中的/res

this->setStyleSheet("background-image: url(:/res/images/background.png);");

结果是:

this->setStyleSheet("background-image: url(:/images/background.png);");

答案 2 :(得分:0)

ui->centralWidget->setStyleSheet("background-image: url(:/images/background.png);");

如果您尝试更改ui