PyQt5 技巧篇-解决相对路径无法加载图片问题,styleSheet通过"相对"路径加载图片,python获取当前运行文件的绝对路径。

Posted 小蓝枣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt5 技巧篇-解决相对路径无法加载图片问题,styleSheet通过"相对"路径加载图片,python获取当前运行文件的绝对路径。相关的知识,希望对你有一定的参考价值。

Python获取绝对路径

先说一下python获取当前运行文件绝对路径的方法:

import os
url = os.path.dirname(os.path.abspath(__file__))   # 文件夹
url = os.path.abspath(__file__)   # 文件

运行效果:

C:\\Users\\Administrator\\Desktop\\lanzao_Robot\\robot\\robot_ui
C:\\Users\\Administrator\\Desktop\\lanzao_Robot\\robot\\robot_ui\\hello.py
styleSheet"相对"路径加载图片

styleSheet用相对路径我是怎么试都不管用。加了:/在前面也不管用。
好像跟pyqt5自身的绘图机制有关,父类子类啥的。以后有空可以研究下。

既然只有绝对路径管用,那我就用绝对路径,变相的相对路径
我先获取到运行文件的决定位置,再根据相对路径合成新的路径。

# 获取绝对路径
url_father = os.path.dirname(os.path.abspath(__file__))

# 因为styleSheet里正斜杠才管用,我要把反斜杠转化为正斜杠
url=""
for i in url_father:
    if(i == "\\\\"):
        url = url + "/"
    else:
        url = url + i

# 合成新的路径并使用
self.listView_3.setStyleSheet("background-image:url(" + url + "/image/time5.jpg)")

图片就顺利的加载出来了。哈哈!
PyQt5
喜欢的点个赞❤吧!

以上是关于PyQt5 技巧篇-解决相对路径无法加载图片问题,styleSheet通过"相对"路径加载图片,python获取当前运行文件的绝对路径。的主要内容,如果未能解决你的问题,请参考以下文章

vue开发之图片加载不出来问题解决

html img src 相对路径,图片加载不出来。

php加载 GD库后 路径写的也正确 还是无法显示图片? 到底是啥原因 ? 求答案~

在asp.net中,加载图片的相对路径和绝对路径分别用啥

03_CSS入门和高级技巧

关于Markdown插入图片路径错误的问题