用python开发GUI程序:
Tk:python的默认GUI工具集。
Tkinter: 是Tcl/Tk在python上的移植
Tix:Tk InterfaceeXtension,对Tk的扩展,包含在python标准库中了。
Pmw:Python MegaWidgets,对Tkinter的扩展,需要安装pip install Pmw.
下面是第三方库:
wxPython:wxWidgets是用C++实现的,有python和perl的接口。适合初学者。
PyGTK(GTK)
GNOME-Python(GNOME)
PyQt(Qt)
PyKDE(KDE)
...
开发GUI程序的过程:
1.导入模块:
2.创建一个顶层窗口对象来容纳整个GUI。
3.在顶层窗口对象上创建所有的GUI模块。
4.把这些GUI模块与底层程序代码连接。
5.进入时间主循环。
###############################################################################
Tkinter模块
###############################################################################
创建顶层窗口:
Tkinter.Tk类:
import Tkinter
top\root = Tkinter.Tk() #创建一个顶层窗口\根窗口
Tkinter.Tk,title方法:wm_title(self, string=None)
top.title('name') #顶层窗口标题
Tkinter.Tk.quit方法:quit(self):
top.quit #用quit方法退出顶层窗口
Tkinter.Tk.geometry方法:wm_geometry(self,newGeometry=None)
格式就是width X height + x + y.
top.geometry('250x150') #设置窗口大小
###############################################################################
Tk的15种组件:都是Tkinter模块中的类
Label:标签
label = Label(top, text='hello world',font='Helvetica -12 bold') #创建一个label
Tkinter.Label.config方法:configure(self,cnf=None, **kw)
label.config(font='helvetica -%d bold' %scale.get()) #重新调整label大小
Scale:进度条
scale = Scale(top, from_=10, to=40,orient=HORIZONTAL, command=resize) #创建一个进度条
get(self)方法:
scale.get() #获取当前scale值
Button:按钮
Canvas:画布
Checkbutton:选择按钮
Entry:文本框
Frame:框架
Listbox:列表框
Menu:菜单
Menubutton:菜单按钮
Message:消息框
Radiobutton:单选按钮
Scrollbar:滚动条
Text:文本域
Toplevel:顶级
###############################################################################
pack函数pack_configure(self,cnf={}, **kw)
after=widget - pack it after you have packed widget
anchor=NSEW (or subset) - position widget according to given direction
before=widget - pack it before you will pack widget
expand=bool - expand widget if parent size grows
fill=NONE or X or Y or BOTH - fill widget if widget grows
in=master - use master to contain this widget
in_=master - see 'in' option description
ipadx=amount - add internal padding in x direction
ipady=amount - add internal padding in y direction
padx=amount - add padding in x direction
pady=amount - add padding in y direction
side=TOP or BOTTOM or LEFT or RIGHT - where to add this widget.
classname.pack() #显示这个类的控件
###############################################################################
进入时间主循环:
Tkinter.mainloop(n=0)函数:
Tkinter.mainloop() #运行tcl的主循环。
其它模块的学习同理,先安装模块。