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)")
图片就顺利的加载出来了。哈哈!

喜欢的点个赞❤吧!
各位好,我是csdn的小蓝枣,现在我的博客已经同步到博客园啦,欢迎大家关注哈!也欢迎大家关注我的公众号Py_JSQY!每天会更新有趣的科技文!哈哈!
浙公网安备 33010602011771号