相关疑难解决方法(0)

如果在函数中创建Tkinter图像,为什么不显示?

此代码有效:

import tkinter

root = tkinter.Tk()
canvas = tkinter.Canvas(root)
canvas.grid(row = 0, column = 0)
photo = tkinter.PhotoImage(file = './test.gif')
canvas.create_image(0, 0, image=photo)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

它向我展示了图像.

现在,这段代码编译但它没有显示我的图像,我不知道为什么,因为它是相同的代码,在类中:

import tkinter

class Test:
    def __init__(self, master):
        canvas = tkinter.Canvas(master)
        canvas.grid(row = 0, column = 0)
        photo = tkinter.PhotoImage(file = './test.gif')
        canvas.create_image(0, 0, image=photo)

root = tkinter.Tk()
test = Test(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python image tkinter tkinter-canvas

30
推荐指数
3
解决办法
5万
查看次数

无法在Tkinter中显示图像

当我运行该程序时,画布显示但图像不显示.

canvas = Canvas(frame, width = 128, height = 128, bg= 'white')
    image_data = Image.open('NoArt.gif')
    ppm_f = ImageTk.PhotoImage(image_data)
    canvas.create_image(0, 0, image = ppm_f, anchor = NW)
    canvas.pack(side=BOTTOM)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗??

PS.

我有PIL版本1.6,python 2.6和python 2.6附带的Tkinter版本

python image tkinter

4
推荐指数
2
解决办法
5704
查看次数

如何将图像添加到窗口小部件?为什么图像不显示?

如何将图像添加到tkinter中的窗口小部件?

为什么当我使用此代码时,它不起作用:

some_widget.config(image=PhotoImage(file="test.png"), compound=RIGHT)
Run Code Online (Sandbox Code Playgroud)

但这确实有效吗?:

an_image=PhotoImage(file="test.png")
some_widget.config(image=anImage, compound=RIGHT)
Run Code Online (Sandbox Code Playgroud)

python image tkinter

4
推荐指数
1
解决办法
2万
查看次数

如何使用 tkinter 在 python 中更改标签中的图像?

我在标签中有一个图像,我希望在按下按钮时更改该图像,但不是更改图像,而是窗口变为空白:

from tkinter import *
from PIL import Image,ImageTk
import os
root = Tk()
root.state("zoomed")
def chng():
    photo2 = ImageTk.PhotoImage(Image.open("upload.jpg"))
    img.config(image = photo2) 
    img.grid() 
photo = ImageTk.PhotoImage(Image.open("cat.jpg"))
img = Label(root,image = photo)
upload = Button(root, text= "Upload" ,height = 3, width = 12, command = 
chng)
upload.grid( )
for col_num in range(root.grid_size()[1]):
    root.columnconfigure(col_num, minsize=600)
for row_num in range(root.grid_size()[1]):
    root.rowconfigure(row_num, minsize=60)
img.grid() 
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter python-3.x

1
推荐指数
1
解决办法
7173
查看次数

标签 统计

python ×4

tkinter ×4

image ×3

python-3.x ×1

tkinter-canvas ×1