而create_image所指定的image参数却直接与这个被回收的变量相关,因此图片无法显示。 解决办法 只要保证image这个变量不被垃圾回收即可。 按照这个思路可以采取的办法有很多,比如将image声明为全局变量。 deffunc(canvas):# 在canvas中创建图片globalimage image = PhotoImage(file="img/熊猫人.png") canvas.create_image...
今天突然想起来,看到了这篇文章,才明白是是要把canvas.create_image(width,height,image = im)中的第三个参数image声明为全局变量的原因。 图源网络,侵删致歉。
我在一个函数中创建了一个简单的画布,我想在画布上显示一个图像。 def start(root): startframe = tkinter.Frame(root) canvas = tkinter.Canvas(startframe,width=1280,height=720) startframe.pack() canvas.pack() one = tkinter.PhotoImage('images\one.gif') canvas.create_image((0,0),image=one,anch...
img = PhotoImage(file=gifdir+filename) can = Canvas(root) can.pack(fill=BOTH,side='top') can.config(width=img.width(), height=img.height()) can.create_image(2, 2, image=img, anchor=NW) tex=Text(root) tex.pack(side='right') inputfield = Entry(root) inputfield.pack(side='bottom'...
Tkinter画布未显示 Tkinter是Python的一个GUI库,用于创建图形用户界面。Tkinter中的画布(Canvas)是一个可用于绘制图形、显示图像和处理用户交互的组件。 当Tkinter画布未显示时,可能有以下几个可能的原因和解决方法: 未将画布添加到主窗口中:在创建画布后,需要使用pack()、grid()或place()等方法将画布添加到主窗口中...
在上面的示例中,我们创建了一个Canvas组件,并在其中加载了一个图像文件。然后,使用create_image方法在Canvas上创建了一个图像。 对于Tkinter背景图像不显示的问题,可以按照上述步骤检查并解决可能的原因。如果问题仍然存在,可以进一步调查是否存在其他代码或配置问题。相关...
tkinter中原生的加载图片方式,并不支持主流图片格式,要想加载jpg、png之类的,比较好的解决方式是使用PIL的Image, ImageTk模块来导入。 简单测试,在画布上添加一个图片,运行以下代码没有任何问题。 fromtkinterimport*fromPILimportImage,ImageTktk=Tk()canvas=Canvas(tk,width=500,height=500)img=Image.open("avatar...
如果将创建ImageTk.PhotoImage的那句代码放到一个函数中,也会出现十分奇葩的现象:图片不显示,比如: defset_image(canvas,name):img=ImageTk.PhotoImage(file=name)canvas.create_image(300,300,image=img)returnimg 这是因为在set_image(canvas, name)函数调用结束返回后,img立马就被回收了。
canvas.create_image(300,50,image = im) AI代码助手复制代码 但如果我就是想要在方法里调用怎么办? 那么可以提前声明全局变量 image= Noneim= None AI代码助手复制代码 之后在方法里使用global来声明变量为全局变量 即: defmethod():globalimageglobalim ...