python+tkinter从入门到完成绘图软件

什么是tkinter

Tkinter是Python的标准GUI库,使用tkinter可以快速开发GUI应用程序。十分方便的是,tkinter已经内置到python的安装包中,我们只需要直接使用import tkinter就可以使用。

创建第一个GUI程序

上面的代码就是一个最简单的GUI程序了,只有一个主窗口。其中需要注意的是,root.geometry(“400×300+100+100”)前两个参数表示的是创建窗口的大小,而且一定要用x(小写的X表示),否则会 错:TclError: bad geometry specifier “400*300+100+100”,初学者一定要注意;后两个参数表示的是窗口的相对于屏幕的位置,单位是像素。
上面代码的执行结果如下:

创建文本输入框和单选框

现在,我们来学习一下tkinter的Label标签和Radiobutton标签。详细内容请看代码。

代码的效果如下:

创建一块画布

创建一块画布,我们需要使用到Canvas(self, width=400, height=300, bg=“green”),在这行代码中我们指定了画布的宽和高,还指定了画布的背景颜色。
我们可以使用canvas.create_line(0,0, 15,20, 54,15)来绘制一条折线,每两个数字为一组,代表一个相对于画布的坐标点,当我们指定多组数字时,将会绘制一条直线,但相邻的两组数字绘制的是直线。
canvas.create_rectangle(45,45, 150,140)用来绘制一个矩形,前面两个参数用于指定矩形左上角的位置,后面两个参数用于指定矩形右下角的位置,通过这两个参数我们就可以确定一个矩形并绘制出来。
其他的比如圆形等依葫芦画瓢即可完成绘制。

接下来看看效果吧:

画图软件

经过上面的学习,我们就可以将各个组件搭在一起,构成我们的画图软甲了。
详细代码如下:

class Application(Frame):    def __init__(self, master=None):super().__init__(master)self.master = masterself.pack()self.createWidget()self.x = 0self.y = 0self.lastDraw = 0 #最后绘制的图形idself.startDrawFlag = Falseself.fgcolor = "red"def createWidget(self):#创建绘图区self.drawPad = Canvas(root, width=900, height=500, bg="black")self.drawPad.pack()        #画图软件的各种按钮btn_pen = Button(self, text="画笔", name="pen")btn_pen.pack(side="left", padx="10")btn_rect = Button(self, text="矩形", name="rect")btn_rect.pack(side="left", padx="10")btn_clear = Button(self, text="清屏", name="clear")btn_clear.pack(side="left", padx="10")btn_erasor = Button(self, text="橡皮擦", name="erasor")btn_erasor.pack(side="left", padx="10")btn_line = Button(self, text="直线", name="line")btn_line.pack(side="left", padx="10")btn_lineArrow = Button(self, text="箭头直线", name="lineArrow")btn_lineArrow.pack(side="left", padx="10")btn_color = Button(self, text="颜色", name="color")btn_color.pack(side="left", padx="10"

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月11日
下一篇 2020年9月11日

相关推荐