【问题标题】:Picture not showing on my loading screen in QLabel图片未显示在我的 QLabel 加载屏幕上
【发布时间】:2021-03-20 02:00:39
【问题描述】:

我目前正在使用 QT 设计器在加载屏幕上显示图片。

它应该看起来像这样:

但是,它看起来像这样:

这是因为由于某种原因它没有显示我的图片,当它在我的 IDE 中注册时,文件路径是正确的,如下所示:

图片真正显示在我的加载 GUI 中的唯一时间是当我使用完整文件路径时:C:\Users\myalt\OneDrive\Desktop\GUINEW\assets\PostmonkeyLogo.png

当然,当该软件将在具有不同文件路径的许多不同计算机上使用时,这是不可行的。

self.label.setPixmap(QPixmap(u"assets/PostmonkeyLogo.png")) ## image file path to show

【问题讨论】:

  • 尝试使用完整路径,请提供minimal reproducible example
  • 我在帖子的最后说过,它在使用完整文件路径时有效,但这不是一个可行的选择。 pastebin.com/28jbTH7e
  • 因此,如果部分路径不起作用但完整路径起作用,那么您的起始路径/工作目录一定不是您认为的那样。您应该确定您的工作目录是什么,以便您可以放置​​文件以便能够正确使用相对路径。
  • 经过测试后出现:C:\Program Files\JetBrains\PyCharm Community Edition 2020.2\jbr\bin 这可能是因为我的pycharm IDE中的VE?打印(os.getcwd())

标签: python pyqt qt-designer


【解决方案1】:

问题是文件路径是相对于打开控制台和执行 python.exe 命令的位置。最好使用信息作为.py的路径来构建完整路径:

import os.path

# ...

CURRENT_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
filename = os.path.join(CURRENT_DIRECTORY, "assets/PostmonkeyLogo.png")
self.label.setPixmap(QPixmap(filename))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多