Python图形界⾯GUI程序设计
1、GUI是什么?
图形⽤户界⾯(Graphical User Interface,简称 GUI,⼜称图形⽤户接⼝)是指采⽤图形⽅式显⽰的计算机操作⽤户界⾯。
图形⽤户界⾯是⼀种⼈与计算机通信的界⾯显⽰格式,允许⽤户使⽤⿏标等输⼊设备操纵屏幕上的图标或菜单选项,以选择命令、调⽤⽂件、启动程序或执⾏其它⼀些⽇常任务。与通过键盘输⼊⽂本或字符命令来完成例⾏任务的字符界⾯相⽐,图形⽤户界⾯有许多优点。图形⽤户界⾯由窗⼝、下拉菜单、对话框及其相应的控制机制构成,在各种新式应⽤程序中都是标准化的,即相同的操作总是以同样的⽅式来完成,在图形⽤户界⾯,⽤户看到和操作的都是图形对象,应⽤的是计算机图形学的技术。
2、Python中的GUI编程
Python 提供了多个图形开发界⾯的库,⼏个常⽤ Python GUI 库如下:
Tkinter: Tkinter 模块(Tk 接⼝)是 Python 的标准 Tk GUI ⼯具包的接⼝ .Tk 和 Tkinter 可以在⼤多数的 Unix 平台下使⽤,同样可以应⽤在 Windows 和 Macintosh 系统⾥。Tk8.0 的后续版本可以实现本地窗⼝风格,并良好地运⾏在绝⼤多数平台中。
wxPython:wxPython 是⼀款开源软件,是 Python 语⾔的⼀套优秀的 GUI 图形库,允许 Python 程序员很⽅便的创建完整的、功能健全的 GUI ⽤户界⾯。
Jython:Jython 程序可以和 Java ⽆缝集成。除了⼀些标准模块,Jython 使⽤ Java 的模块。Jython ⼏乎拥有标准的Python 中不依赖于 C 语⾔的全部模块。⽐如,Jython 的⽤户界⾯将使⽤ Swing,AWT或者 SWT。Jython 可以被动态或静态地编译成 Java 字节码。
3、Tkinter编程
Tkinter 是 Python 的标准 GUI 库。Python 使⽤ Tkinter 可以快速的创建 GUI 应⽤程序。由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、⽽且 IDLE 也是⽤ Tkinter 编写⽽成、对于简单的图形界⾯ Tkinter 还是能应付⾃如。
4、如何来创建⼀个GUI程序?
(1)、导⼊ tkinter 模块
(2)、创建窗⼝
(3)、创建控件
(4)、显⽰控件和窗⼝
Eg:
from tkinter import*
#导⼊模块
tk_bg = Tk()
#创建窗⼝
bm=Button()
#创建按键控件
bm.pack()
#显⽰控件(放在窗⼝创建的后⾯)
tk_bg.mainloop()
#显⽰窗⼝(放最下⾯)
5、画⼀个简单的的窗⼝
想要在窗⼝显⽰⽂字,需要调⽤Label()控件,想要在窗⼝上显⽰按键,需要调⽤Button()控件。
eg:
from tkinter import*
tk_bg = Tk()
tk_bg.title("第⼀个GUI")
#窗⼝名称
lb=Label()
#创建⼀个输出框控件
lb["text"]="Hello World!"
#写⼊⽂本
lb["width"]=100
#设置该控件左右宽度
lb["height"]=10
#设置该控件上下⾼度
lb.pack()
#显⽰控件
bm=Button()
#创建按键控件windows程序设计第7版pdf
bm["text"]="确定"
#写⼊⽂本
bm.pack()
#显⽰控件
tk_bg.mainloop()
#显⽰窗⼝
注:TK中的窗⼝显⽰顺序默认是⾃上⽽下的,先调⽤pack()的控件会显⽰在上⾯,后调⽤的会显⽰在下⾯。
6、在窗⼝显⽰图⽚。
想要在窗⼝中显⽰图⽚,只需要将输出框控件和图⽚关联就可以了。
eg:
from tkinter import*
#导⼊模块
tk_bg = Tk()
#创建窗⼝
tk_bg.title("毁图秀秀")
#修改窗⼝名字
lb1=Label()
#创建⼀个输出框控件
w =PhotoImage(file="123.gif")
#创建⼀个图⽚对象,图⽚只能是gif
lb1["image"]=w
#关联图⽚到控件
lb1.pack()
#显⽰控件
tk_bg.mainloop()
#显⽰窗⼝
注:图⽚⽂件要和源代码放在同⼀个⽂件夹,否则请使⽤绝对路径指定图⽚位置。
7、排列控件顺序
想要在⼀⾏显⽰多个控件,需要使⽤Frame()来集中管理。
eg:
from tkinter import*
#导⼊模块
tk_bg = Tk()
#创建窗⼝
tk_bg.title("阁下的相册")
#修改窗⼝名字
fm1 = Frame()
#⽣成集中管理对象fm1
w1 =PhotoImage(file="123.gif")
#创建⼀个图⽚对象,图⽚只能是gif
Label(fm1,image=w1).pack(side="left")
#创建输出框控件关联fm1和w1图⽚,控件显⽰⽅式为最左边
w2 =PhotoImage(file="234.gif")
#创建⼀个图⽚对象,图⽚只能是gif
Label(fm1,image=w2).pack(side="left")
#创建输出框控件关联fm1和w2图⽚,控件显⽰⽅式为最左边
fm1.pack()
#显⽰fm1关联的所有控件
fm2 = Frame()
#⽣成集中管理对象fm2
Button(text="可爱",font=("楷体",20)).pack(side="bottom")
#创建按键控件关联fm2,控件显⽰⽅式为最下⽅
Button(text="很可爱",font=("楷体",20)).pack(side="bottom")
#创建按键控件关联fm2,控件显⽰⽅式为最下⽅
Button(text="⾮常可爱",font=("楷体",20)).pack(side="bottom")
#创建按键控件关联fm2,控件显⽰⽅式为最下⽅
fm2.pack()
#显⽰fm2关联的所有控件
tk_bg.mainloop()
#显⽰窗⼝
注:主义观察控件的输出,⾮常可爱是在最上⾯的,想⼀想为什么(因为bottom把最前⾯的可爱放在了最下⾯)。side有四种⽅式 top、bottom、left、right。
以下为TK的⽅法和属性附录
1、Tkinter组件
Tkinter的提供各种控件,如按钮,标签和⽂本框,⼀个GUI应⽤程序中使⽤。这些控件通常被称为控件或者部件。
控件描述
Button按钮控件;在程序中显⽰按钮。
Canvas画布控件;显⽰图形元素如线条或⽂本
Checkbutton多选框控件;⽤于在程序中提供多项选择框
Entry输⼊控件;⽤于显⽰简单的⽂本内容
Frame框架控件;在屏幕上显⽰⼀个矩形区域,多⽤来作为容器
Label标签控件;可以显⽰⽂本和位图
Listbox列表框控件;在Listbox窗⼝⼩部件是⽤来显⽰⼀个字符串列表给⽤户Menubutton菜单按钮控件,⽤于显⽰菜单项。
Menu菜单控件;显⽰菜单栏,下拉菜单和弹出菜单
Message消息控件;⽤来显⽰多⾏⽂本,与label⽐较类似
Radiobutton单选按钮控件;显⽰⼀个单选的按钮状态
Scale范围控件;显⽰⼀个数值刻度,为输出限定范围的数字区间
Scrollbar滚动条控件,当内容超过可视化区域时使⽤,如列表框。.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。