canvas教程

qjk19940101的博客

字号+ 作者:H5之家 来源:H5之家 2017-12-10 10:36 我要评论( )

测验一个允许用户更改标签的颜色,字体和文本的程序 变量类一些小部件(如文本输入小部件,单选按钮等)可以通过使用特殊选项直接连接到应用程序变量:variable,

具体代码访问GitHub: https://github.com/Roc-J/Python-turtle/tree/master/code14 测验

一个允许用户更改标签的颜色,字体和文本的程序

变量类

一些小部件(如文本输入小部件,单选按钮等)可以通过使用特殊选项直接连接到应用程序变量:variable,textvariable,onvalue,offvalue和value

此链接以两种方式工作
如果变量因任何原因而改变,则它所连接的窗口部件将被更新以反映新值。

x= StringVar() 保存字符串,默认为””
x= IntVar() 保存整数,默认是0
x= DoubleVar() 保存浮点型,默认是0.0
x=BooleanVar() 保存布尔型,返回0是False,返回1是True

要读取上述变量的当前值,可以调用get()。这种变量的值可以通过set()方法更改

我们可以使用Canvas窗口小部件显示形状

可以通过创建方法create_oval,create_arc,create_polygon或create_line在画布上绘制矩形,椭圆形,弧形,多边形或线。

from Tkinter import * class CanvasDemo: def __init__(self): wn = Tk() wn.title("Canvas Demo") self.canvas = Canvas(wn,width=200,height=100,bg="white") self.canvas.pack() frame = Frame(wn) frame.pack() btRectangle = Button(frame,text="Rectangle",command=self.displayRect) btOval = Button(frame,text="Oval",command=self.displayOval) btArc = Button(frame,text="Arc",command=self.displayArc) btPolygon = Button(frame, text="Polygon", command=self.displayPolygon) btLine = Button(frame, text="Line", command=self.displayLine) btString = Button(frame, text="String", command=self.displayString) btClear = Button(frame,text="Clear",command=self.clearCanvas) btRectangle.grid(row=1,column=1) btOval.grid(row=1, column=2) btArc.grid(row=1, column=3) btPolygon.grid(row=1, column=4) btLine.grid(row=1, column=5) btString.grid(row=1, column=6) btClear.grid(row=1, column=7) mainloop() def displayRect(self): self.canvas.create_rectangle(10,10,190,90,tags="rect") def displayOval(self): self.canvas.create_oval(10,10,190,90,fill="red",tags="oval") def displayArc(self): self.canvas.create_arc(10,10,190,90,start=0,extent=90,width=8,fill="red",tags="arc") def displayPolygon(self): self.canvas.create_polygon(10,10,190,90,30,50,tags="polygon") def displayLine(self): self.canvas.create_line(10,10,190,90,fill="red",tags="line") self.canvas.create_line(10,90,190,10,width=9,arrow="last",activefill="blue",tags="line") def displayString(self): self.canvas.create_text(60,40,text="Hi,I am a string",font="Times 10 bold underline",tags="string") def clearCanvas(self): self.canvas.delete("rect","oval","arc","polygon","line","string") CanvasDemo()

程序说明:
1. 在类的初始化中,声明了一个canvas和一个frame,分别将这两个放置在窗口上
2. 在初始化中,定义了七个按钮,用来创建不同的形状,将这七个按钮放置在frame中
3. 定义了七个函数,分别对应七个按钮的command,而将绘图的结果显示在canvas

Tkinter 坐标系

绘图坐标

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • createjs技术博客

    createjs技术博客

    2017-11-19 13:01

  • Young杨小杰博客

    Young杨小杰博客

    2017-11-11 18:01

  • CSS 高级技巧汇总 小月博客

    CSS 高级技巧汇总 小月博客

    2017-11-07 14:06

  • 使用canvas绘制见缝插针小游戏Hello_yihao的博客

    使用canvas绘制见缝插针小游戏Hello_yihao的博客

    2017-10-30 11:00

网友点评
.