在Tkinter中单击按钮时显示.jpg图像?

2024-05-03 20:57:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这似乎是一个非常简单的问题,但当单击按钮时,我无法显示jpg图像。这是我的代码(为了时间的缘故没有按钮代码):

from tkinter import *

#screen stuff here

canvas = Canvas(app)
canvas.grid(row = 0,column = 0)
photo = PhotoImage(file = "test.jpg")
canvas.create_image(0,0, image = photo)


def show_image():
    global canvas
    global photo
    canvas.create_image(0,0, image = photo)

#button that calls the function down here

谢谢!


Tags: 代码from图像imageimportheretkintercreate
1条回答
网友
1楼 · 发布于 2024-05-03 20:57:20

这适用于Python2:

import Tkinter as tk
import ImageTk

def show_image():
    x = canvas.create_image(125, 125, image=tk_img)
    while True:
        print('show')
        canvas.itemconfigure(x, state=tk.NORMAL)
        button.configure(text = 'Hide')
        yield
        print('hide')        
        canvas.itemconfigure(x, state=tk.HIDDEN)
        button.configure(text = 'Show')        
        yield

root = tk.Tk()
canvas = tk.Canvas(root, width=250, height=250)
canvas.grid(row=0, column=0)
tk_img = ImageTk.PhotoImage(file='image.png')

button = tk.Button(
    root, text="Show", command=show_image().next, anchor='w',
    width=10, activebackground="#33B5E5")
button.grid(row=1, column=0)
root.mainloop()

在Python3中,PhotoImagecan open GIF, PPM/PGM images。要打开其他格式,可以need to install Pillow(Python3的PIL项目的一个分支)。

相关问题 更多 >