码迷,mamicode.com
首页 > 其他好文 > 详细

Tkinter教程之Canvas篇(4)

时间:2014-09-21 14:53:00      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   使用   ar   for   art   sp   

本文转载自:http://blog.csdn.net/jcodeer/article/details/1812091

‘‘‘Tkinter教程之Canvas篇(4)‘‘‘
bubuko.com,布布扣‘‘‘22.绘制弧形‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建一个ARC
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣cv.create_arc((10,10,110,110),)
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用默认参数创建一个ARC,结果为90度的扇形
bubuko.com,布布扣‘‘‘23.设置弧形的样式‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建create_arc.
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣d = {1:PIESLICE,2:CHORD,3:ARC}
bubuko.com,布布扣for i in d:
bubuko.com,布布扣    cv.create_arc((10,10 + 60*i,110,110 + 60*i),style = d[i])
bubuko.com,布布扣    print i,d[i],
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用三种样式,分别创建了扇形、弓形和弧形
bubuko.com,布布扣‘‘‘24.设置弧形的角度‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 使用start/extent指定起始角度与偏移角度
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣d = {1:PIESLICE,2:CHORD,3:ARC}
bubuko.com,布布扣for i in d:
bubuko.com,布布扣    cv.create_arc(
bubuko.com,布布扣        (10,10 + 60*i,110,110 + 60*i),
bubuko.com,布布扣        style = d[i],   #指定样式
bubuko.com,布布扣        start = 30,     #指定起始角度
bubuko.com,布布扣        extent = 30     #指定角度偏移量
bubuko.com,布布扣        )
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用三种样式,start指定起始角度;extent指定角度偏移
bubuko.com,布布扣‘‘‘25.绘制位图‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 使用bitmap创建位图create_bitmap
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣d = {1:‘error‘,2:‘info‘,3:‘question‘,4:‘hourglass‘}
bubuko.com,布布扣for i in d:
bubuko.com,布布扣    cv.create_bitmap((20*i,20*i),bitmap = d[i])
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用bitmap属性来指定位图的名称,这个函数的第一个参数为一个点(x,y)指定位图存放位置的左上位置。
bubuko.com,布布扣‘‘‘26.绘制GIF图像‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建gif图像create_image
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣img = PhotoImage(file = ‘c:/python.gif‘)
bubuko.com,布布扣cv.create_image((150,150),image = img)
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 先使用PhotoImage创建GIF图像,再将image属性来设置为新创建的img
bubuko.com,布布扣‘‘‘27.绘制直线‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建带箭头的直线create_line
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣d = [(0,‘none‘),(1,‘first‘),(2,‘last‘),(3,‘both‘)]
bubuko.com,布布扣for i in d:
bubuko.com,布布扣    cv.create_line(
bubuko.com,布布扣        (10,10 + i[0]*20,110,110+ i[0] * 20),   # 设置直线的起始、终点
bubuko.com,布布扣        arrow = i[1],                           # 设置直线是否使用箭头
bubuko.com,布布扣        arrowshape = ‘40 40 10‘                 # 设置箭头的形状(填充长度,箭头长度,箭头宽度
bubuko.com,布布扣        )
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用arrow属性来控制是否显示箭头
bubuko.com,布布扣‘‘‘28.直线的joinstyle属性‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建直线,使用joinstyle属性
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣d = [(0,‘none‘,‘bevel‘),(1,‘first‘,‘miter‘),(2,‘last‘,‘round‘),(3,‘both‘,‘round‘)]
bubuko.com,布布扣for i in d:
bubuko.com,布布扣    cv.create_line(
bubuko.com,布布扣        (10,10 + i[0]*20,110,110+ i[0] * 20),   # 设置直线的起始、终点
bubuko.com,布布扣        arrow = i[1],                           # 设置直线是否使用箭头
bubuko.com,布布扣        arrowshape = ‘8 10 3‘,                  # 设置箭头的形状(填充长度,箭头长度,箭头宽度
bubuko.com,布布扣        joinstyle = i[2],
bubuko.com,布布扣        )
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 将直线的属性joinstyle分别设置为bevel/miter/round,测试其效果。
bubuko.com,布布扣‘‘‘29.绘制椭圆‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 绘制椭圆,使用create_oval属性
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣# 创建一个长200,宽100的椭圆
bubuko.com,布布扣cv.create_oval((10,10,210,110),fill = ‘red‘)
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 指定椭圆的长和宽,圆是长和宽相等的特殊情况。
bubuko.com,布布扣‘‘‘30.创建多边形‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建多边形(三角形)
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 绘制一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣# 创建一个直角三角形
bubuko.com,布布扣cv.create_polygon((10,10,10,200,100,200),fill = ‘red‘)
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 指定三个点的坐标,三个点坐标必须满足三角形的定义。
bubuko.com,布布扣‘‘‘31.修饰图形‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 创建多边形create_ploygon(三角形)
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣# 创建一个直角三角形
bubuko.com,布布扣cv.create_polygon((10,10,10,200,100,200),
bubuko.com,布布扣                  #smooth = True,   # 平滑处理,但未找到控制此参数的项
bubuko.com,布布扣                  splinesteps = 0,  # 不明白是控制什么的???
bubuko.com,布布扣                  )
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# smooth/splinesteps用来修改绘制的图形,不明白这两个参数还有其它什么作用。
bubuko.com,布布扣‘‘‘32.绘制文字‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 使用文字create_text
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣# 创建一个文字对象,默认设置为居中对齐
bubuko.com,布布扣cv.create_text((10,10),text = ‘Hello Text‘,
bubuko.com,布布扣               anchor = W
bubuko.com,布布扣               )
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用anchor控制文字的位置,使用justify控制对齐方式
bubuko.com,布布扣‘‘‘33.选中文字‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 使用文字create_text
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣# 创建一个文字对象,默认设置为居中对齐
bubuko.com,布布扣txt = cv.create_text((10,10),text = ‘Hello Text‘,
bubuko.com,布布扣               anchor = W
bubuko.com,布布扣               )
bubuko.com,布布扣# 设置文本的选中起始位置
bubuko.com,布布扣cv.select_from(txt,2)
bubuko.com,布布扣# 设置文本的选中结束位置
bubuko.com,布布扣cv.select_to(txt,5)
bubuko.com,布布扣
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用anchor控制文字的位置,使用justify控制对齐方式
bubuko.com,布布扣‘‘‘34.创建组件‘‘‘
bubuko.com,布布扣# -*- coding: cp936 -*-
bubuko.com,布布扣# 使用子组件create_window
bubuko.com,布布扣from Tkinter import *
bubuko.com,布布扣root = Tk()
bubuko.com,布布扣# 创建一个Canvas,设置其背景色为白色
bubuko.com,布布扣cv = Canvas(root,bg = ‘white‘)
bubuko.com,布布扣# 创建一个Button对象,默认设置为居中对齐
bubuko.com,布布扣def printWindow():
bubuko.com,布布扣    print ‘window‘
bubuko.com,布布扣bt = Button(cv,text = ‘ClickMe‘,command = printWindow)
bubuko.com,布布扣#修改button在canvas上的对齐方式
bubuko.com,布布扣cv.create_window((10,10),window = bt,anchor = W)
bubuko.com,布布扣# 新创建的line对象与button有重叠
bubuko.com,布布扣cv.create_line(10,10,20,20)
bubuko.com,布布扣# 新创建的line不在button之上,即没有重叠
bubuko.com,布布扣cv.create_line(30,30,100,100)
bubuko.com,布布扣cv.pack()
bubuko.com,布布扣root.mainloop()
bubuko.com,布布扣# 使用anchor组件在Canvas上的位置,默认情况下为居中对齐,这样使用后其它的item将不能再使用button战胜的那块区域

Tkinter教程之Canvas篇(4)

标签:style   blog   http   io   使用   ar   for   art   sp   

原文地址:http://www.cnblogs.com/LeeZz/p/3984340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!