gpt4 book ai didi

c++ - Qt资源文件不编译不更新

转载 作者:搜寻专家 更新时间:2023-10-31 00:37:50 26 4
gpt4 key购买 nike

我正在制作一个 C++ 应用程序,并且我创建了一个函数来应用来自 css 文件的样式表。这是方法:

void MainWindow::load_css_file() {
QFile styleFile(":/light_style_css");
styleFile.open(QFile::ReadOnly);

QString styleSheet = styleFile.readAll();
setStyleSheet(styleSheet);

};

除了每次更改“light_style_css”(这是我的项目资源文件中的 css 文件的别名)时我都需要运行“make”之外,这工作正常。

但是,当我将方法更改为如下内容时:

void MainWindow::load_css_file() {
QFile styleFile("../stylesheets/light_style.css");
styleFile.open(QFile::ReadOnly);

QString styleSheet = styleFile.readAll();
setStyleSheet(styleSheet);

};

我可以对文件进行更改,并且程序会更新,而无需运行“make”以使更改生效。

有没有一种方法,我可以使用资源系统,而不必运行“make”来进行更改?

这是我的资源文件:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file alias="light_style_css">stylesheets/light_style.css</file>
</qresource>
</RCC>

最佳答案

简单地说:不,你不能。

资源内置于您的可执行文件中。如果要更改它们,则需要重建可执行文件。

您的第二种方法是从磁盘读取文件,因此它没有这种行为。

如果这对您来说是一个真正的问题,请提供将样式表作为参数传递到命令行的可能性,并默认为资源。这样你就可以尽可能多地调试样式表而无需每次都重新编译。令人满意后重建(并在发货之前!)。

关于c++ - Qt资源文件不编译不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com