【问题标题】:Python TK, strange issue with displaying image on CanvasPython TK,在画布上显示图像的奇怪问题
【发布时间】:2018-06-23 11:59:11
【问题描述】:

所以我在 python 中遇到了 TKinter 的奇怪问题。我有一个 BitmapImage 我在将其设置为 ImageTk.BitmapImage 对象之前检查了该图像。然后我告诉画布对象创建图像,然后 pack()。图片只有在我把 IMAGE.show() 放在之后才会显示,这会引发错误,因为你知道 ImageTk 没有显示。

ioFile = filedialog.askopenfilename()
hexData = PyUtils.openFile(ioFile)
binData = PyUtils.convertToBinary(hexData)
IMAGE = PyUtils.makeImage(binData)
IMAGE = ImageTk.BitmapImage(IMAGE, background='white')
binViewBox  = tk.Canvas(root, bg='light grey', width=60)
binViewBox.create_image((0,0), image=IMAGE, anchor='nw')
binViewBox.pack(anchor='nw', side=TOP, fill=BOTH, expand=True)

如果我将 IMAGE.show() 放在此处,它将显示在画布中但会抛出错误,并且我不想抛出异常:传入那里。

【问题讨论】:

    标签: tkinter python-3.6 tkinter-canvas


    【解决方案1】:

    通过将我的图像变量作为全局变量传递来解决。这是有道理的,因为以前我使用类来运行 gui。现在没有类,并且由于图像是在函数内部创建的,因此在函数结束后会收集图像并且不会引用图像。仍然不知道为什么将图像变量传递给函数不起作用,但我想这仍然是一个谜。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      相关资源
      最近更新 更多