gpt4 book ai didi

Python tkinter 模块文本转换

转载 作者:行者123 更新时间:2023-12-01 04:55:15 25 4
gpt4 key购买 nike

我几天前刚刚开始学习Python,并且开始接触动画。我正在开发一个名为“Bounce!”的项目,它在屏幕上显示了该名称,并具有其他设置。设置为 FPS 和速度(增量)。但是,当椭圆形弹起时,这些设置会发生变化,我希望文本也随之改变,但我不知道如何改变。这是我当前的代码:

import time
from tkinter import *
tk = Tk()
fps=30
increment=2
canvas = Canvas(tk,height='500',width='500')
canvas.pack()
canvas.create_oval(175,100,325,250,fill='red',outline='black')
canvas.create_line(50,100,450,100)
canvas.create_line(50,450,450,450)
canvas.create_text(250,30,text='Bounce!',fill='red',font=('Consolas',30))
x = canvas.create_text(250,75,text=('FPS: %s; Speed: %s'% (fps,increment)),fill='black',font=('Consolas',20)) #mainproblem

while True:
increment += 1
if increment % 2 == 0 and fps > 1:
fps = fps - 1
#I want the 'x' text to change to the current FPS and Speed here, but I do not know how.
for x in range(0, int(200/increment)):
canvas.move(1,0,increment)
tk.update()
time.sleep(1/fps)
for x in range(0, int(200/increment)):
canvas.move(1,0,-(increment))
tk.update()
time.sleep(1/fps)

我使用的是 Python 3.4.2。

最佳答案

您可以使用 itemconfigure 更改 Canvas 上元素的设置(请参阅 here )。另请注意,您的循环变量 x 隐藏了您为其分配文本 ID 的变量。

text = canvas.create_text(...)
...
canvas.itemconfigure(text, text=('FPS: %s; Speed: %s'% (fps,increment)))

关于Python tkinter 模块文本转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com