当前位置: 首页 > 面试题库 >

Python,tkinter:为什么此jpeg不显示?

轩辕海
2023-03-14
问题内容

试图在我的GUI窗口上显示来自互联网的图片。

到目前为止,我的代码是:

picURL = "https://graph.facebook.com/" + ID + "/picture"
picBytes= urlopen(picURL).read()
picData = io.BytesIO(picBytes)
picPil = Image.open(picData)
picTk = ImageTk.PhotoImage(picPil)
label = Label(image = picTK, bg = "blue").pack()

问题是我得到的只是一个应该显示图片的蓝色框。我该如何解决?

在Windows上使用python 3.3


问题答案:

现在这是一个疯狂的猜测,但是我只记得一个类似的问题。我能够以这种方式重现您的“蓝框”,所以这也可能是您的问题。我将尝试一下。

我假设PhotoImage是在其他某个范围内创建的(可能是一种方法showImage(self, id)或类似的方法),并且对该图像的引用都没有超出此方法的范围。这样的结果是PhotoImage即使 在Label中使用了方法,
将在此方法结束时对其进行垃圾回收!

尝试创建一个在帧的整个生命周期中都存在的变量,并将PhotoImage绑定到该变量(例如self.images[ID],在GUI中使用类时,否则在某些全局变量中)。如果我是对的,而这确实是问题所在,那么这应该有所帮助。



 类似资料:
  • 我试图使一个客户端-服务器包成一个应用程序。因此,当应用程序打开时,服务器会自动进入待机/监听模式。问题是当运行服务器套接字时,它直到之后才显示gui。我希望gui和服务器套接字同时发生。 我已经注释掉了代码行,它按照预期工作,直到 我读过关于线程来解决这个问题的文章,但是我看到的例子都没有给出足够清晰的答案。我对python和编程还是相当陌生的。谢啦

  • 问题内容: 此代码有效: 它显示了图像。 现在,此代码可以编译,但不会显示图像,我也不知道为什么,因为它是同一类的代码: 问题答案: 该变量photo是一个局部变量,在实例化类后会获取垃圾。保存对照片的引用,例如:

  • 我正在尝试用tkiter制作一个简单的python GUI。最近,我有一个很大的麻烦tkinter Toplevel设置它的窗口图标。当我首先设置顶级窗口图标时,它在IDE或CMD上运行良好,然后就没有问题了;当我将其转换为EXE时,除了它之外,没有显示图标,也没有显示其他小部件。首先尝试cx_冻结,看到问题后,我尝试pyinstaller,也有同样的问题。我也曾试图用互联网解决这个问题,但一无所

  • 问题内容: 我正在尝试使用一个字段来获取手动输入,然后使用该数据。 我发现的所有资料都声称我应该使用该函数,但是我还没有找到一个简单的可运行的迷你示例,因此无法使用它。 我希望有人可以给我打电话,告诉我我做错了什么。这是一个迷你文件: 这给了我一个我可以输入的字段,但是一旦输入数据我就什么也不能做。 我怀疑我的代码不起作用,因为最初它是空的。但是,一旦输入了输入数据,我该如何访问呢? 问题答案:

  • 问题内容: 用PIL(1.1.7)创建的JPEG图像质量很差。这是一个例子: 输入:https : //s23.postimg.cc/8bks3x5p7/cover_1.jpg 输出:https : //s23.postimg.cc/68ey9zva3/cover_2.jpg 输出图像是使用以下代码创建的: 红色文字看起来真的很糟糕。使用GIMP或Photoshop保存图像甚至不能接近PIL所产生

  • 我已经在Mac上通过自制程序安装了Python。 之后,我将Python版本检查为2.7。11,然后我试着表演 我得到以下错误消息: