【问题标题】:PyQt5 won't show Picture in lablePyQt5 不会在标签中显示图片
【发布时间】: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() 之类的代码中添加一些延迟,但没有。所以通过添加警告消息解决了问题,但不知道为什么。
  • 抱歉,您的评论很混乱。我建议您为这两个字符串添加一个简单的打印语句,并通过编辑您的帖子向我们展示结果。

标签: python linux windows pyqt5


【解决方案1】:

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

【讨论】:

  • 这似乎不是一个非常有效的答案,因为该解决方案似乎更像是一个不相关的解决方法,这通常表明一个不可靠且错误的解决方案。请仅在您有完整可靠的答案时才使用答案字段。
猜你喜欢
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多