在 QT 样式表中使用相对 url
Posted
技术标签:
【中文标题】在 QT 样式表中使用相对 url【英文标题】:Using relative url in QT stylesheet 【发布时间】:2017-07-06 17:19:58 【问题描述】:我正在处理一个 qt 项目并希望将所有图像文件设置为相对,但我无法使用通常的父 url 引用访问图像。
image:url('../sources/status/status.png');
不过,我可以使用图像的绝对路径加载图像。
【问题讨论】:
路径是相对于你的源代码还是可执行文件的位置? 你用的是python还是C++? 它与源代码和可执行文件的位置有关。 我正在使用 python。 如果您使用的是 python,则没有可执行文件。 【参考方案1】:最好使用Qt Resource System。您的资源的依赖项将包含在您的可执行文件中,然后您不必共享文件夹树。
您可以使用资源 url 在 QSS 代码中设置图像。
使用您的所有图像创建资源,您可以使用 Qt Creator IDE 轻松设置它。如果您愿意,可以添加自己的前缀以与其余资源区分开来。
<!DOCTYPE RCC><RCC version="1.0" prefix="/">
<qresource>
<file>../sources/status/status.png</file>
<file>../sources/status/example_1.png</file>
<file>../sources/status/example_2.png</file>
<file>../sources/status/example_3.png</file>
</qresource>
</RCC>
然后,如果您的前缀是“/”,则将其用于您的 QSS:
image:url(':/../sources/status/status.png');
【讨论】:
以上是关于在 QT 样式表中使用相对 url的主要内容,如果未能解决你的问题,请参考以下文章