Python 使文本在tkinter画布中无张力地收缩和扩展
基本上,我想制作一个程序,在cavas中创建一个大小为1的文本,旋转180度(连续),然后将其扩展到最大大小(比如50),然后继续旋转,当它旋转到最大时,它会再次缩小到1,然后重复这个过程 这是我想到的唯一一个想法,请记住,我只是在Python上混了一两周,所以代码可能需要完全更改Python 使文本在tkinter画布中无张力地收缩和扩展,python,canvas,tkinter,tkinter-canvas,Python,Canvas,Tkinter,Tkinter Canvas,基本上,我想制作一个程序,在cavas中创建一个大小为1的文本,旋转180度(连续),然后将其扩展到最大大小(比如50),然后继续旋转,当它旋转到最大时,它会再次缩小到1,然后重复这个过程 这是我想到的唯一一个想法,请记住,我只是在Python上混了一两周,所以代码可能需要完全更改 from tkinter import * import time import random size=1 angl=0 i=0 canvas=Canvas(width=600, height=600) can
from tkinter import *
import time
import random
size=1
angl=0
i=0
canvas=Canvas(width=600, height=600)
canvas.pack()
while i<180:
canvas.delete("all")
canvas.create_text(150,150, text="kappa123",angle=angl,font=("helvetica",size))
angl+=1
size+=1
i+=1
canvas.update()
time.sleep(1/360)
while i>=180:
canvas.delete("all")
canvas.create_text(150,150, text="kappa123",angle=angl,font=("helvetica",size))
angl+=1
size-=1
i+=1
canvas.update()
time.sleep(1/360)
从tkinter导入*
导入时间
随机输入
尺寸=1
盎格鲁=0
i=0
画布=画布(宽度=600,高度=600)
canvas.pack()
当i=180时:
canvas.delete(“全部”)
canvas.create_text(150150,text=“kappa123”,angle=angl,font=(“helvetica”,size))
盎格鲁+=1
尺寸-=1
i+=1
canvas.update()
时间。睡眠(1/360)
正如您所见,它只工作一次,然后永远扩展。我相信这是因为您没有离开第二个循环。你的i变量移到无穷大。要查看示例,请运行此命令并查看输出:
from tkinter import *
import time
j = 0 # Time spent in the first while loop
k = 0 # Time spent in the second while loop
size = 1
angl = 0
i = 0
canvas = Canvas(width=600, height=600)
canvas.pack()
while i < 180:
canvas.delete("all")
canvas.create_text(150, 150, text="kappa123", angle=angl, font=("helvetica", size))
angl += 1
size += 1
i += 1
j += 1
print('First loop', j)
canvas.update()
time.sleep(1 / 360)
while i >= 180:
canvas.delete("all")
canvas.create_text(150, 150, text="kappa123", angle=angl, font=("helvetica", size))
angl += 1
size -= 1
i += 1
k += 1
print('Second loop', k)
canvas.update()
time.sleep(1 / 360)
我相信这是因为你没有离开第二圈。你的i变量移到无穷大。要查看示例,请运行此命令并查看输出:
from tkinter import *
import time
j = 0 # Time spent in the first while loop
k = 0 # Time spent in the second while loop
size = 1
angl = 0
i = 0
canvas = Canvas(width=600, height=600)
canvas.pack()
while i < 180:
canvas.delete("all")
canvas.create_text(150, 150, text="kappa123", angle=angl, font=("helvetica", size))
angl += 1
size += 1
i += 1
j += 1
print('First loop', j)
canvas.update()
time.sleep(1 / 360)
while i >= 180:
canvas.delete("all")
canvas.create_text(150, 150, text="kappa123", angle=angl, font=("helvetica", size))
angl += 1
size -= 1
i += 1
k += 1
print('Second loop', k)
canvas.update()
time.sleep(1 / 360)
哦,我知道问题出在哪里了。我已经知道如何定义函数了,你会怎么做呢?哦,我知道问题出在哪里了。我已经知道如何定义函数了,你会怎么做呢?