pyinstaller打包后图片没有显示,怎么用相对路径呢
时间: 2023-05-21 09:07:08 浏览: 240
labview 相对路径控制vi,打包非常常用,打包不成功的人,其实就是应用的路径问题,这个能帮到你
你可以使用Python中的os模块来获取打包后的可执行文件所在的绝对路径,然后再使用相对路径加载图片。以下是一个示例代码:
```python
import os
import sys
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle("Hello World")
self.setWindowIcon(QIcon("icon.png"))
self.label = QLabel(self)
self.label.setGeometry(10, 10, 200, 200)
self.label.setPixmap(QPixmap("image.png"))
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
# 获取打包后的可执行文件所在的绝对路径
base_path = os.path.abspath(os.path.dirname(sys.argv[0]))
# 使用相对路径加载图片
main_window.setWindowIcon(QIcon(os.path.join(base_path, "icon.png")))
main_window.label.setPixmap(QPixmap(os.path.join(base_path, "image.png")))
main_window.show()
sys.exit(app.exec_())
```
在上面的代码中,我们使用os模块中的abspath函数获取当前打包后的可执行文件所在的绝对路径,然后使用os模块中的join函数将相对路径和绝对路径拼接起来,以此来加载图片。
阅读全文