|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- from tkinter import *
- root=Tk()
- def move_n():
- m.move(n,5,0)
- root.after(200,move_n)
- m=Canvas(root,width=333,height=444,background="ghostwhite")
- m.pack()
- point=222,160
- n=m.create_text(point,text="3-8 妇女节",fill="magenta")
- move_n()
- mainloop()
复制代码
如何让画布中的文字不出去,在里面来回运动?
要让画布中的文字在里面来回运动,你可以在移动文字时检测文字的位置,并在其到达画布边缘时反转运动方向。以下是一个改进的示例代码:
- from tkinter import *
- root = Tk()
- def move_text():
- global dx
- # 获取文字边界
- x1, y1, x2, y2 = m.bbox(n)
- # 如果文字到达画布的左右边界,则反转方向
- if x2 >= m.winfo_width() or x1 <= 0:
- dx = -dx
- # 移动文字
- m.move(n, dx, 0)
- root.after(200, move_text)
- m = Canvas(root, width=333, height=444, background="ghostwhite")
- m.pack()
- # 初始位置
- point = 222, 160
- # 创建文字
- n = m.create_text(point, text="3-8 妇女节", fill="magenta")
- # 设定文字移动速度
- dx = 5
- # 启动文字移动
- move_text()
- mainloop()
复制代码
在这个示例中,用了 m.bbox(n)来获取文字的边界,以此判断文字是否到达画布边缘,并通过改变变量 dx的值来反转方向。只要检测到文字超出边界或即将超出边界,就调整其移动方向。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|