八、显示文字

create_text在画布上写字。这个函数只需要两个坐标(文字x和y的位置),还有一个具名参数来接受要显示的文字。例如:

>>> from tkinter import*
>>> tk = Tk()
>>> canvas = Canvas(tk,width=400,height=400)
>>> canvas.pack()
>>> canvas.create_text(150,100,text='Happy birthday to you')

用Python中的tkinter模块作图(续)

 

create_text函数还有几个很有用的参数,比方说字体颜色等。在下面的代码中,我们调用create_text函数时使用了坐标(130,120),还有要显示的文字,以及红色的填充色:

canvas.create_text(130,120,text='Happy birthday to you!',fill='red')

 

我们还可以指定字体,方法是给出一个包含字体名和字体大小的元组。例如大小为20的Times字体就是('Times',20):

>>> canvas.create_text(150,150,text='Happy birthday',font=('Times',15))
>>> canvas.create_text(200,200,text='Happy birthday',font=('Courier',22))
>>> canvas.create_text(220,300,text='Happy birthday',font=('Couried',30))

 

用Python中的tkinter模块作图(续)

 

九、显示图片

要用tkinter在画布上显示图片,首先要装入图片,然后使用canvas对象上的create_image函数

这是我存在E盘上的一张图片:

用Python中的tkinter模块作图(续)

我们可以这样来显示one.gif图片:

>>> from tkinter import*
>>> tk = Tk()
>>> canvas = Canvas(tk,width=400,height=400)
>>> canvas.pack()
>>> my_image = PhotoImage(file='E:\\FFOutput\\one.gif')
>>> canvas.create_image(0,0,anchor = NW,image = my_image)  
>>> canvas.create_image(50,50,anchor = NW,image = my_image) 

在第五行中,把图片装入到变量my_image中。坐标(0,0)/(50,50)是我们要显示图片的位置, anchor=NW让函数使用左上角(northwest 西北方)作为画图的起始点,最后一个具名参数image指向装入的图片。

用Python中的tkinter模块作图(续)

 

注:用tkinter只能装入GIF图片,也就是扩展名是.gif的图片文件。

想要显示其他类型的图片,如PNG和JPG,需要用到其他的模块,比如Python图像库。

 

 

十、创建基本的动画

创建一个填了色的三角形,让它在屏幕上横向移动:

import time
from tkinter import*
tk = Tk()
canvas = Canvas(tk,width=400,height=200)
canvas.pack()
canvas.create_polygon(10,10,10,60,50,35)  ##创建三角形
for x in range(0,60):
    canvas.move(1,5,0)  ##把任意画好的对象移动到把x和y坐标增加给定值的位置
    tk.update()         ##强制tkinter更新屏幕(重画)     
    time.sleep(0.05)    ##让程序休息二十分之一秒(0.05秒),然后再继续
三角形横向移动

相关文章: