PyQt5 不会在标签中显示图片

Posted

技术标签:

【中文标题】PyQt5 不会在标签中显示图片【英文标题】:PyQt5 won't show Picture in lable 【发布时间】:2021-06-27 07:32:44 【问题描述】:

我试图在 PyQt5 中从相机拍摄后显示一张图片。好吧,我在 Linux 上编写了这段代码并且它工作了,但是当我切换到 Windows 时,几乎一切都坏了。所以我解决了一些问题,但我无法解决这个问题。 我正在尝试在框架中的标签中显示图像。当我将图像的目录直接传递给 QPixmap 时,它可以正常工作,但图像目录是动态的且不断变化的,我需要它。 函数是这样的:

'''

ave_directory = global_path + "temp_pics\\"
if not os.path.exists(save_directory):
    os.makedirs(save_directory)
pic_num = self.save_seq.pop()
save_directory += str(pic_num)
self.capture.capture(save_directory)
pic_show_dir = str(save_directory + ".jpg")
time.sleep(1)
# pic_show = QtGui.QPixmap("C:\\Users\\***\\Desktop\\***\\***\\temp_pics\\logo.png")
pic_show = QtGui.QPixmap(pic_show_dir)

if pic_num == "1":
    self.lbl_pic1.setPixmap(pic_show)
elif pic_num == "2":
    self.lbl_pic2.setPixmap(pic_show)
elif pic_num == "3":
    self.lbl_pic3.setPixmap(pic_show)
elif pic_num == "4":
    self.lbl_pic4.setPixmap(pic_show)
elif pic_num == "5":
    self.lbl_pic5.setPixmap(pic_show)
elif pic_num == "6":
    self.lbl_pic6.setPixmap(pic_show)

'''

当我写 pic_show = QtGui.QPixmap("C:\\Users\\***\\Desktop\\***\\***\\temp_pics\\logo.png") 时,它可以正常工作,但动态的就不行了。

有谁知道如何解决这个问题?

【问题讨论】:

您是否考虑过比较硬编码路径和动态路径,即使只是将它们打印在两条不同的行上? 是的。我试着比较两者。一个有效,一个无效。我在拍照后放了警告信息,它使动态部分起作用了!我尝试在 time.sleep() 之类的代码中添加一些延迟,但没有。所以通过添加警告消息解决了问题,但不知道为什么。 抱歉,您的评论很混乱。我建议您为这两个字符串添加一个简单的打印语句,并通过编辑您的帖子向我们展示结果。 【参考方案1】:

我在拍照后放了警告信息,它使动态部分起作用了!我尝试在 time.sleep() 之类的代码中添加一些延迟,但没有。所以问题通过添加警告信息解决了,但不知道为什么!

【讨论】:

这似乎不是一个非常有效的答案,因为该解决方案似乎更像是一个不相关的解决方法,这通常表明一个不可靠且错误的解决方案。请仅在您有完整可靠的答案时才使用答案字段。

以上是关于PyQt5 不会在标签中显示图片的主要内容,如果未能解决你的问题,请参考以下文章

pyqt5中使用GraphicsView显示图片

创建多个图片标签的怪异BUG,图片库浏览器

jsp中怎样把图片显示在界面上?

图片标签

图片标签

pyqt5点击按钮从本地加载图片并显示在界面上