python开发之Tkinter可视化

来源:互联网 发布:youtube下载视频软件 编辑:程序博客网 时间:2024/05/16 08:24

引言:
1.Tkinter 模块是python的标准Tk GUI工具包的接口,是python的内置模块,直接导入即可。
2.Tkinter 在python2和python3中的变化较大,在python2中叫Tkinter,在python3中叫tkinter 。
3.本文是在python2.7版本测试

一.创建第一个窗口

from Tinter import *  #导入Tkinter这个模块root=Tk()  #对Tk这个类实例话root.mainloop()  #进行事件循环

注:
Tk类代表大多数应用程序主窗口的高层空间,继承自两个类(Misc和Wm),即所有的部件都需要先创建它

二.组件(Widget):大小、位置和功能

1.Label:
说明:标签
用法:Label(根对象,[属性列表(用字典的形式)])
例子:name=Label(root,name='name',bg='green')

2.Button:
说明:按钮
用法:Button(根对象,[属性列表(用字典的形式)])#command属性可以用来绑定按钮点击事件
例子:

def push():    print 'you push me'btn=Button(root,text='push',command=push)

3.Frame
说明:创建矩形区域,作为容器
用法:Frame(根对象,[属性列表(用字典的形式)])
例子:

frm=Frame(root)#leftfrm_L=Frame(frm)Label(frm_L,text='left_top').pack(side=TOP)Label(frm_L,text='left_bottom').pack(side=TOP)frm_L.pack(side=LEFT)#rightfrm_R=Frame(frm)Label(frm_R,text='right_top').pack(side=TOP)Label(frm_R,text='right_bottom').pack(side=TOP)frm_R.pack(side=RIGHT)frm.pack()

4.Tkinter 中的21个核心组件
Toplevel、Label、Button、Canvas、Checkbutton、Entry、Frame、LabelFrame、Listbox、Menu、Menubutton、Message、OptionMenu、PaneWindow、RadioButton、Scale、Scrollbar、Spinbox、Text、Bitmap、Image

三.布局

1.pack布局
<1>使用pack函数,组件默认依次向下排;
<2>pack函数的参数:

  • side:指定停靠在那个方向,可取值LEFT RIGHT TOP BOTTOM
  • fill:指定填充方向,可取值X Y BOTH NONE
  • expand:是否拉伸,可取值YES NO
  • anchor:可取值N E S W或者组合
pack(side=LEFT,expand=NO,fill=X)

2.grid网格布局
grid函数参数:

  • row表示行,column表示列
  • sticky决定组件是从哪个方向开始的,可取值:N E W S
  • rowspan表示跨越的行数,columnspan表示跨越的列数
label.grid(row=1,column=0)

四.事件
使用bind()函数进行事件的绑定

窗体对象.bind(事件类型,回调函数)

五.对话框与消息框

1.消息框

from tkMessageBox import *print showerror(title='',message='')#其中,还有其他类型消息框,show...,ask...。

2.对话框
<1>模态对话框SimpleDialog

from SimpleDialog import *dlg=SimpleDialog(root,text='',buttons=['Yes','NO',...])print dlg.go()#用户点击了那个按钮

<2>使用tkSimpleDialog模块

from tkSimpleDialog import *print askfloat(title='',prompt='',minivalue=0,maxvalue=100)#与askfloat()相同的方法还有ask integer、asserting,只不过属性有所不同

<3>文件对话框

from FileDialog import *fileDlg=LoadFileDialog(root)print fd.go()#返回用户选中的文本路径fileDlg=SaveFileDialog(root)#保存文件print fd.go()

六.手绘图形

can=Canvas(root,width=300,height=50)can.create_line((0,0),(200,200),width=4)
0 0
原创粉丝点击