再过几个小时NBA总决赛就要开始了,有点失眠,睡不着,写篇博客吧
随着学习的深入以及所做工作的需求,需要了解并掌握python语言的GUI编写方法,而以“人生苦短我用python”作为格言的它有着各种各样的第三方包,比如tix,pmw wxwidgets wxpython pyqt tkinter等等。作为一个入行尚浅的小学生来说,用什么包都感觉陌生,经过简单的了解,决定使用tkinter作为入门包,首先因为其作为python官方默认安装包,也就是在安装好python后不用多余操作就可以import了,其次是因为其具有良好的可移植性。那么接下来对学习内容进行简短的总结
# tkinter的操作需要5个步骤,过程如下:
# 1 导入tkinter模块
# 2 创建一个顶层他窗口对象,用来容纳整个GUI程序
# 3 在你的顶层窗口对象上(或者说在其中)创建所有的GUI模块(以及功能)
# 4 把这些GUI模块与底层程序代码相连接
# 5 进入主事件循环
一般有两种使用方法
1,直接编写上述5个步骤
from tkinter import * top = Tk() #top.title("hello,world") #######顶层窗口name默认为tk top.geometry("500x500") label = Label(top,text = "Hello World") label.pack() mainloop()
2,建立类,通过调用类的方式实现上述步骤
def test1(): top = Tk() label = Label(top,text = 'test1') label.pack() buttom = Button(top,text = 'test1',command = top.quit) buttom.pack() top.mainloop() top.destroy() def test2(): top1 = Tk() label = Label(top1,text = 'test2') label.pack() buttom = Button(top1,text = 'test1',command = top1.quit) buttom.pack() top1.mainloop() top1.destroy() for i in range(5): test1() test2()
定义一个类来创建GUI和处理GUI事件有两个优点,第一,可以将来重复使用这个类,第二,将所有函数定义为方法可以让他们访问类种的实例数据域(摘抄自
python语言程序设计,梁勇著。一书,暂时对数据域不太熟悉)。
而tkinter包涵有15个组件(完成功能的小模块,比如按键 菜单等),通过对各个组件的组合以及参数设置可以完成比较全面的GUI界面。组件以及标准属性如下:
控件 | 描述 |
---|---|
Button | 按钮控件;在程序中显示按钮。 |
Canvas | 画布控件;显示图形元素如线条或文本 |
Checkbutton | 多选框控件;用于在程序中提供多项选择框 |
Entry | 输入控件;用于显示简单的文本内容 |
Frame | 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 |
Label | 标签控件;可以显示文本和位图 |
Listbox | 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 |
Menubutton | 菜单按钮控件,由于显示菜单项。 |
Menu | 菜单控件;显示菜单栏,下拉菜单和弹出菜单 |
Message | 消息控件;用来显示多行文本,与label比较类似 |
Radiobutton | 单选按钮控件;显示一个单选的按钮状态 |
Scale | 范围控件;显示一个数值刻度,为输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用,如列表框。. |
Text | 文本控件;用于显示多行文本 |
Toplevel | 容器控件;用来提供一个单独的对话框,和Frame比较类似 |
Spinbox | 输入控件;与Entry类似,但是可以指定输入范围值 |
PanedWindow | PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 |
LabelFrame | labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 |
tkMessageBox | 用于显示你应用程序的消息框。 |
标准属性
标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。
属性 | 描述 |
Dimension | 控件大小; |
Color | 控件颜色; |
Font | 控件字体; |
Anchor | 锚点; |
Relief | 控件样式; |
Bitmap | 位图; |
Cursor | 光标; |
好,入门就写到这里 更多的内容会在接下来的博文里边学习边总结边记录,碎觉,晚安!