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