:我目前已经试了很多东西,在stackoverflow上很少有人问我这个问题,而且我似乎无法把我的头绕在上面,所以我需要一些帮助
应用
:此程序的目的是设置椭圆形和图片的动画,椭圆形工作正常,但图片正在挣扎,您可以删除图像或
阿利恩2
程序应该运行良好。
代码
image form
from tkinter import *
import time
from PIL import Image,ImageFilter
from PIL import ImageTk
class alien(object):
def __init__(self):
self.root = Tk()
self.canvas = Canvas(self.root, width=400, height = 400)
self.canvas.pack()
self.cardPath = Image.open('bubble.png')
self.resCard = cardPath.resize((100,100))
self.CardVar = ImageTk.PhotoImage(resCard,master=root)
self.alien1 = self.canvas.create_oval(20, 260, 120, 360, outline='white',fill='blue')
self.alien2 = self.canvas.create_image(100,100,CardVar,anchor=CENTER)
self.canvas.pack()
self.root.after(0, self.animation)
self.root.mainloop()
def animation(self):
track = 0
while True:
x = 5
y = 0
if track == 0:
for i in range(0,51):
time.sleep(0.025)
self.canvas.move(self.alien1, x, y)
self.canvas.move(self.alien2, x, y)
self.canvas.update()
track = 1
print("check")
else:
for i in range(0,51):
time.sleep(0.025)
self.canvas.move(self.alien1, -x, y)
self.canvas.move(self.alien2, -x, y)
self.canvas.update()
track = 0
print(track)
alien()
错误:
image
运行文件('/Users/Stian/.spyder-py3/animation\u test.py',wdir='/Users/Stian/.spyder-py3')
文件“”,第1行,在
运行文件('/Users/Stian/.spyder-py3/animation\u test.py',wdir='/Users/Stian/.spyder-py3')
文件“/anaconda3/lib/python3.6/site packages/spyder/utils/site/sitecommize.py”,第705行,在runfile中
execfile(文件名,命名空间)
文件“/anaconda3/lib/python3.6/site packages/spyder/utils/site/sitecommize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,“exec”),命名空间)
文件“/Users/Stian/.spyder-py3/animation\u test.py”,第57行,in
外星人()
文件“/Users/Stian/.spyder-py3/animation\u test.py”,第25行,in
self.CardVar=ImageTk.PhotoImage(重新扫描,master=root)
初始
self.\uu photo=tkinter.PhotoImage(**kw)
文件“/anaconda3/lib/python3.6/tkinter/
.py“,3542行,英寸
初始
形象。
初始
(本人,“照片”,姓名,cnf,船长,**千瓦)
文件“/anaconda3/lib/python3.6/tkinter/
初始
.py“,第3498行,英寸
初始
self.tk.call((“image”,“create”,imgtype,name,)+选项)
TclError:无法调用“image”命令:应用程序已被破坏
我知道代码并不漂亮,但它是一个测试环境,正如前面提到的,所有的东西都应该完美无缺地工作,但是当使用图像而不是椭圆形时,它就会崩溃,而椭圆形应该不会有太大的区别。提前谢谢!
问题解决了
原来分配时出现的问题
主人
里面
图像()
,当我删除应用程序未获取
新问题
我对代码所做的更改来自:
self.cardPath = Image.open('bubble.png')
self.resCard = cardPath.resize((100,100))
self.CardVar = ImageTk.PhotoImage(resCard,master=root)
对此:
self.cardPath = Image.open('bubble.png')
self.resCard = cardPath.resize((100,100))
self.CardVar = ImageTk.PhotoImage(resCard)
新的错误
image form
文件“”,第1行,在
运行文件('/Users/Stian/.spyder-py3/animation\u test.py',wdir='/Users/Stian/.spyder-py3')
文件“/anaconda3/lib/python3.6/site packages/spyder/utils/site/sitecommize.py”,第705行,在runfile中
execfile(文件名,命名空间)
文件“/anaconda3/lib/python3.6/site packages/spyder/utils/site/sitecommize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,“exec”),命名空间)
文件“/Users/Stian/.spyder-py3/animation\u test.py”,第56行,in
外星人()
文件“/Users/Stian/.spyder-py3/animation\u test.py”,第27行,in
初始
self.alien2=self.canvas.create_图像(100100,CardVar,anchor=CENTER)
文件“/anaconda3/lib/python3.6/tkinter/
初始
.py“,第2486行,在create_image中
返回self.\u create('image',args,kw)
初始
*(args+self.\u选项(cnf,kw)))
TclError:未知选项“pyimage21”