python如何将文本添加到椭圆?

时间:2013-07-17 00:51:59

标签: python python-3.x tkinter

我在python 3.3中制作了一个“数学泡泡”游戏,其中椭圆(气泡)在画布上随机移动,这些气泡在它们上面有一个数字eg2,用户必须弹出/点击与之相关的气泡问题,例如2的倍数,用户将点击说2,4,6,8等的气泡

麻烦的是,我不知道如何或者是否可以将数字放在我创建的椭圆形上。 请帮帮我>。<

到目前为止

代码:

数学泡泡

from tkinter import *
import random


def quit():
    root.destroy()


def bubble():
    xval = random.randint(5,765)
    yval = random.randint(5,615)
    canvas.create_oval(xval,yval,xval+30,yval+30,   fill="#00ffff",outline="#00bfff",width=5)
    canvas.update()

def main():
    global root
    global tkinter
    global canvas
    root = Tk()
    root.title("Math Bubbles")
    Button(root, text="Quit", width=8, command=quit).pack()
    Button(root, text="Start", width=8, command=bubble).pack()
    canvas = Canvas(root, width=800, height=650, bg = '#afeeee')
    canvas.pack()
    root.mainloop()

main()

1 个答案:

答案 0 :(得分:4)

要将文本放入tkinter画布,请使用create_text方法。要将其放置在您制作的椭圆上,请将位置设置为椭圆的中心。在这种情况下,您制作的每个椭圆的中心是(xval + 15,yval + 15)。见下文:

def bubble():
    xval = random.randint(5,765)
    yval = random.randint(5,615)
    canvas.create_oval(xval,yval,xval+30,yval+30, fill="#00ffff",outline="#00bfff",width=5)
    canvas.create_text(xval+15,yval+15,text="mytext")
    canvas.update()

你现在制作的每个椭圆都会写上“mytext”。

但是,您可能希望查看动画软件以了解涉及移动的更复杂的应用程序。一些很好的例子是Pygame和Livewires。但这取决于你。