到目前为止我找到的所有示例都引用了资源文件中的背景图像。类似的东西:
QFrame {
background-image: url(:/images/header.png);
}
我想知道,有没有办法直接从文件系统中使用文件?类似的东西:
background-image: url("C:\temp\foo.jpg"); ????
background-image: file("C:\temp\foo.jpg"); ????
我尝试过所有类型的网址,但没有一个可行。我是否总是要在资源中添加文件?
答案 0 :(得分:9)
您不一定需要将文件添加为资源。试试这个例子:
QFrame{background-image: url("C:/temp/foo.jpg");}
请注意标准斜线,就像您在网址中使用的那样 - 他们不是Windows'回斜线。例如,这不起作用:
QFrame{background-image: url("C:\\temp\\foo.jpg");} /* Won't work! */
视窗' QSS中的反斜杠无效,即使你将它们转义也是如此。
您还可以使用相对路径:
QFrame{background-image: url("temp/foo.jpg");}
但要小心,因为路径在运行时相对于CWD,用户可能会更改。