2013-07-09 174 views
1

這似乎是一個非常簡單的問題,但我在單擊按鈕時顯示jpg圖像時遇到問題。這裏是我的代碼(爲了時間的緣故,沒有按鈕代碼):在Tkinter中單擊按鈕時顯示.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 

謝謝!

回答

1

這適用於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項目的一個分支)。

+0

我仍然得到相同的錯誤...嗯。有沒有其他的方式來顯示圖像? – codeforfood

相關問題