Maison > Article > interface Web > Chapitre sur le canevas du didacticiel Tkinter (4)
'''Tkinter Tutorial Canvas Chapitre (4)'''
'''22. Dessinez un arc'''
# -*- codage : cp936 -*-
# Créer un ARC
from Tkinter import * root = Tk()
# Créer un canevas et définir sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') cv.create_arc((10,10,110,110),) cv.pack() root.mainloop()
# Créez un ARC en utilisant les paramètres par défaut, le résultat est un secteur à 90 degrés
'''23. 🎜>
# -*- codage : cp936 -*-
# create create_arc.
from Tkinter import * root = Tk()
# Créez une toile et définissez sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') d = {1:PIESLICE,2:CHORD,3:ARC} for i in d: cv.create_arc((10,10 + 60*i,110,110 + 60*i),style = d[i]) print i,d[i], cv.pack() root.mainloop()
# Utilisez trois styles pour créer respectivement des formes d'éventail, d'arc et d'arc
'''24. Régler l'angle de l'arc'''
# -*- codage : cp936 -*-
# Utiliser start/extent pour spécifier l'angle de départ et l'angle de décalage
from Tkinter import * root = Tk()# Créez un canevas et définissez sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') d = {1:PIESLICE,2:CHORD,3:ARC} for i in d: cv.create_arc( (10,10 + 60*i,110,110 + 60*i),style = d[i], #Spécifiez le style
start = 30, #Spécifiez l'angle de départ
extent = 30 # Spécifiez l'angle offset
)
cv.pack()
root.mainloop()
# Utiliser trois styles, début spécifie l'angle de départ ; étendue spécifie le décalage d'angle
''' 25. Dessiner un bitmap'''
# - *- codage : cp936 - *-
# Utilisez bitmap pour créer un bitmap create_bitmap
à partir de l'importation Tkinter *
root = Tk( )
# Créez un canevas et définissez sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') d = {1:'error',2:'info',3:'question',4:'hourglass'} for i in d: cv.create_bitmap((20*i,20*i),bitmap = d[i]) cv.pack() root.mainloop()
# Utilisez l'attribut bitmap pour spécifier le nom du bitmap, Le premier paramètre de cette fonction est un point (x, y) qui spécifie la position supérieure gauche de l'emplacement de stockage bitmap.
'''26. Dessiner une image GIF'''
# -*- codage : cp936 -*-
# Créer gif image create_image
from Tkinter import *
root = Tk()
# Créez un canevas et définissez sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') img = PhotoImage(file = 'c:/python.gif') cv.create_image((150,150),image = img) cv.pack() root.mainloop()
# Utilisez d'abord PhotoImage pour créer une image GIF, puis définissez l'attribut d'image sur l'image nouvellement créée
'' '27 .Trace une ligne droite'''
# -*- codage : cp936 -*-
# Créer une ligne droite avec une flèche create_line
from Tkinter import *
root = Tk()
# Créez un canevas et définissez sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') d = [(0,'none'),(1,'first'),(2,'last'),(3,'both')] for i in d: cv.create_line( (10,10 + i[0]*20,110,110+ i[0] * 20), # 设置直线的起始、终点 arrow = i[1], # 设置直线是否使用箭头 arrowshape = '40 40 10' # 设置箭头的形状(填充长度,箭头长度,箭头宽度 ) cv.pack() root.mainloop()
# Utilisez l'attribut arrow pour contrôler s'il faut afficher la flèche
'''28. >
# -*- coding : cp936 -*-
# Créez une ligne droite et utilisez l'attribut joinstyle
de l'import Tkinter *
root = Tk()
# Créez un canevas et définissez sa couleur d'arrière-plan sur blanc
cv = Canvas(root,bg = 'white') d = [(0,'none','bevel'),(1,'first','miter'),(2,'last','round'),(3,'both','round')] for i in d: cv.create_line( (10,10 + i[0]*20,110,110+ i[0] * 20), # 设置直线的起始、终点 arrow = i[1], # 设置直线是否使用箭头 arrowshape = '8 10 3', # 设置箭头的形状(填充长度,箭头长度,箭头宽度 joinstyle = i[2], ) cv.pack() root.mainloop()# Définissez les attributs joinstyle des lignes droites sur biseau/onglet/arrondi pour tester son effet.
'''29. Dessine une ellipse'''
# -*- codage : cp936 -*-
# Dessine une ellipse, utilisez l'attribut create_oval
de Tkinter import *
root = Tk()
# pour créer un canevas et définir sa couleur de fond est Blanc
cv = Canvas(root,bg = 'white')
# Créez une ellipse d'une longueur de 200 et d'une largeur de 100
cv.create_oval((10,10,210,110),fill = 'red') cv.pack() root.mainloop()
'''30. Créer un polygone'''
# -*- codage : cp936 -*-
# Créer un polygone (Triangle)
from Tkinter import *
root = Tk()
# Dessinez un Canvas et définissez sa couleur d'arrière-plan en blanc
cv = Canvas(root,bg = 'white')
# Créer un triangle rectangle
cv.create_polygon((10,10,10,200,100,200),fill = 'red') cv.pack() root.mainloop()
'''31. Modifier les graphiques'''
# -*- codage : cp936 -*-
# Créer un polygone create_ploygon(Triangle)
from Tkinter import *
root = Tk()
# Créez un canevas et définissez sa couleur d'arrière-plan sur Blanc
cv = Canvas(root,bg = 'white')
# Créer un triangle rectangle
cv.create_polygon((10,10,10,200,100,200), #smooth = True, # 平滑处理,但未找到控制此参数的项 splinesteps = 0, # 不明白是控制什么的??? ) cv.pack() root.mainloop()# smooth/splinesteps est utilisé pour modifier les graphiques dessinés. Je ne sais pas quelles autres fonctions ont ces deux paramètres.
'''32. Dessiner du texte'''
# -*- codage : cp936 -*-
# Utiliser du texte create_text
from Tkinter import * root = Tk()
cv = Canvas(root,bg = 'white')
# Créez un objet texte, le paramètre par défaut est l'alignement central
cv.create_text((10,10),text = 'Hello Text', anchor = W ) cv.pack() root.mainloop()
'''33. Sélectionnez le texte'''
# -*- codage : cp936 -*-
# Utiliser le texte create_text
from Tkinter import * root = Tk()
# 创建一个Canvas,设置其背景色为白色
cv = Canvas(root,bg = 'white')
# 创建一个文字对象,默认设置为居中对齐
txt = cv.create_text((10,10),text = 'Hello Text', anchor = W )
# 设置文本的选中起始位置
cv.select_from(txt,2)
# 设置文本的选中结束位置
cv.select_to(txt,5) cv.pack() root.mainloop()
# 使用anchor控制文字的位置,使用justify控制对齐方式
'''34.创建组件'''
# -*- coding: cp936 -*-
# 使用子组件create_window
from Tkinter import * root = Tk()
# 创建一个Canvas,设置其背景色为白色
cv = Canvas(root,bg = 'white')
# 创建一个Button对象,默认设置为居中对齐
def printWindow(): print 'window' bt = Button(cv,text = 'ClickMe',command = printWindow)
#修改button在canvas上的对齐方式
cv.create_window((10,10),window = bt,anchor = W)
# 新创建的line对象与button有重叠
cv.create_line(10,10,20,20)
# 新创建的line不在button之上,即没有重叠
cv.create_line(30,30,100,100) cv.pack() root.mainloop()
# 使用anchor组件在Canvas上的位置,默认情况下为居中对齐,这样使用后其它的item将不能再使用button战胜的那块区域
以上就是Tkinter教程之Canvas篇(4)的内容,更多相关内容请关注PHP中文网(www.php.cn)!