在QT样式表中使用相对url

时间:2017-07-06 17:19:59

标签: python qt pyqt pyqt5 qtstylesheets

我正在使用qt项目,并希望将所有图像文件设置为相对,但我无法使用通常的父网址引用来访问图像。

image:url('../sources/status/status.png');

然而,我可以使用图像的绝对路径加载图像。

1 个答案:

答案 0 :(得分:2)

最好使用Qt Resource System。您的资源的依赖项将包含在您的可执行文件中,然后您不必共享文件夹树。

您可以使用资源网址在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>

然后,如果您的前缀是&#34; /&#34;,那么将其用于您的QSS:

image:url(':/../sources/status/status.png');