您的位置:首页 > 编程语言 > Python开发

python开发之Tkinter可视化

2015-08-20 16:59 706 查看
引言:

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)
#left
frm_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)
#right
frm_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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: