【问题标题】:Show .tiff with Tkinter使用 Tkinter 显示 .tiff
【发布时间】:2021-06-19 13:52:11
【问题描述】:

我正在尝试构建一个 GUI 来显示一些 .tiff 图像。我有以下代码。我使用 .png 和除 .tiff 之外的所有格式。当我打开一个 .tiff 图像时,它在 GUI 中显示为白色。任何人都知道显示.tiff 的命令是什么? 这是我的代码:

root= Tk()
root.title('My first GUI')
canvas = Canvas(root, width = 300, height = 300)      
canvas.pack()     
def open():
    global my_image
    
    root.filename=filedialog.askopenfilename(initialdir="/Users/gabrielasanchezzz/Desktop/Samples", title="Hola", filetypes=(("All files","*.*"),("tiff","*.tiff")))
    my_label=Label(root, text= root.filename).pack()
    my_image=ImageTk.PhotoImage(Image.open(root.filename))
    my_image_label=Label(image=my_image).pack()

my_btn=Button(root, text="Open File", command=open).pack()

root.mainloop()


这是我得到的: 谢谢!!

【问题讨论】:

  • 删除my_image=Image.open(root.filename),它应该可以正常工作。另外,在这样的函数中添加标签时要小心,使用当前代码,每次按下按钮时都会创建一个新标签,而不会破坏以前的标签。
  • 嗨,我这样做了,但是得到了我附加的白屏。还有什么想法吗?它适用于 .png 文件和 jpeg,但不适用于 .tiff
  • 你能检查一下你的图片吗?也许它只是白色的。尝试使用其他图片。
  • 图像很好,如果我在笔记本中显示它,它显示很好

标签: python user-interface tkinter tiff


【解决方案1】:

检查如何导入 tkinter 和 PIL,因为 python 可能会将 PIL.image 误认为 tkinter.image

以下对我有用:

from tkinter import Tk, Canvas, Button, Label
from tkinter import filedialog
from PIL import ImageTk, Image
root = Tk()
root.title('My first GUI')
canvas = Canvas(root, width = 300, height = 300)      
canvas.pack()     
def open():
    global my_image
    
    root.filename=filedialog.askopenfilename(initialdir="/Users/gabrielasanchezzz/Desktop/Samples", title="Hola", filetypes=(("All files","*.*"),("tiff","*.tiff")))
    my_label=Label(root, text= root.filename).pack()
    my_image=ImageTk.PhotoImage(Image.open(root.filename))
    my_image_label=Label(image=my_image).pack()

my_btn=Button(root, text="Open File", command=open).pack()

root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 2018-06-26
    • 2019-05-31
    相关资源
    最近更新 更多