Maison  >  Article  >  interface Web  >  Chapitre sur le canevas du didacticiel Tkinter (4)

Chapitre sur le canevas du didacticiel Tkinter (4)

黄舟
黄舟original
2017-01-17 10:18:241487parcourir

'''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



# Précisez la longueur et la largeur de l'ellipse Un cercle est un cas particulier où la longueur et la largeur sont égales.
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




# Précisez les coordonnées de trois points Les coordonnées des trois points doivent répondre à la définition d'un triangle.
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



# Créez un canevas et définissez sa couleur d'arrière-plan sur blanc
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




# Utilisez l'ancre pour contrôler la position du texte et utilisez justifier pour contrôler l'alignement
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)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn