当前位置: 首页 > 后端技术 > Python

Python图形界面GUI编程

时间:2023-03-26 15:59:13 Python

我的博客:https://blog.zeruns.tech1。什么是图形用户界面?图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户界面)是指以图形方式显示的计算机操作用户界面。图形用户界面是一种人机交流的界面显示形式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项来选择命令、调用文件、启动程序或执行其他日常任务。图形用户界面比字符界面有很多优势,在字符界面中,例行任务是通过从键盘输入文本或字符命令来完成的。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制组成,在各种新的应用程序中都是标准化的,即相同的操作总是以相同的方式进行。在图形用户界面中,用户所看到和操作的是图形对象,应用了计算机图形学技术。2.PythonGUI编程Python提供了多种图形化开发界面的库。几个常用的PythonGUI库如下:Tkinter:Tkinter模块(Tk接口)是Python的标准TkGUI工具包的接口。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就可以导入Tkinter库,而且Tkinter中也写了IDLE,Tkinter依然可以处理简单的图形界面。4.如何创建GUI程序?(1)、导入tkinter模块(2)、创建窗口(3)、创建控件(4)、显示控件和窗口Eg:fromtkinterimport*#importmoduletk_bg=Tk()#createwindowbm=Button()#创建一个按钮控件bm.pack()#Displaycontrol(放在窗口创建的后面)tk_bg.mainloop()#Displaywindow(放在底部)5.绘制一个简单的窗口要在窗口中显示文字,需要调用Label()控件,如果要在窗口上显示按钮,需要调用Button()控件。eg:fromtkinterimport*tk_bg=Tk()tk_bg.title("ThefirstGUI")#窗口名lb=Label()#创建输出框控件lb["text"]="HelloWorld!"#WriteEntertextlb["width"]=100#设置控件的左右宽度lb["height"]=10#设置控件的上下高度lb.pack()#显示控件bm=Button()#创建按钮控件bm["text"]="OK"#写入文字bm.pack()#显示控件tk_bg.mainloop()#显示窗口注意:TK中窗口显示顺序默认为自上而下,先调用pack()的控件会显示在最上面,后面调用的会显示在最下面。6.在窗口中显示图片。要在窗口中显示图片,只需要将输出框控件与图片相关联即可。eg:fromtkinterimport*#导入模块tk_bg=Tk()#创建窗口tk_bg.title("销毁图片秀秀")#修改窗口名称lb1=Label()#创建输出框控件w=PhotoImage(file="="123.gif")#创建图片对象,图片只能是giflb1["image"]=w#将图片关联到控件lb1.pack()#显示控件tk_bg.mainloop()#显示窗口注意:图片文件一定要和控件源码放在同一个文件夹,否则请用绝对路径指定图片位置。7.排列控件的顺序如果要在一行中显示多个控件,需要使用Frame()进行集中管理。eg:fromtkinterimport*#导入模块tk_bg=Tk()#创建窗口tk_bg.title("你的相册")#修改窗口名称fm1=Frame()#生成集中管理对象fm1w1=PhotoImage(file="123.gif")#创建图片对象,图片只能是gifLabel(fm1,image=w1).pack(side="left")#创建输出框控件关联fm1和w1图片,控件显示方式为最左边的w2=PhotoImage(file="234.gif")#创建一个图片对象,图片只能是gifLabel(fm1,image=w2).pack(side="left")#创建一个输出框控件进行关联fm1和w2图片,控件显示方式为最左边fm1.pack()#显示fm1关联的所有控件fm2=Frame()#生成一个集中管理对象fm2Button(text="cute",font=("Italian",20)).pack(side="bottom")#创建一个fm2关联的按钮控件,控件显示方式为底部Button(text="verycute",font=("Italic",20)).pack(side="bottom")#创建一个按钮控件关联机智hfm2,控件的显示方式为bottomButton(text="verycute",font=("Italian",20)).pack(side="bottom")#创建一个与fm2关联的按钮控件,并控件的显示方法在最下面fm2.pack()#显示所有与fm2关联的控件tk_bg.mainloop()#显示窗口注:原理观察控件的输出在最上面很可爱,想想为什么(因为底部将前面的可爱放在底部)。side有四种方式:top,bottom,left,right。以下是TK附录1的方法和属性。Tkinter组件Tkinter提供各种控件,例如按钮、标签和文本框,供在GUI应用程序中使用。这些控件通常称为控件或小部件。控件说明Button按钮控件;在程序中显示按钮。Canvas画布控件;显示线条或文本等图形元素的Checkbutton多选框控件;用于在程序中提供多选框Entry输入控件;用于显示简单文本内容的Frame框控件;在屏幕上显示一个矩形区域,多用作容器Label标签控件;可以显示文本和位图的Listbox列表框控件;Listbox小部件用于向用户显示字符串列表。Menubutton菜单按钮控件用于显示菜单项。菜单菜单控件;显示菜单栏、下拉菜单和弹出菜单Message消息控件;用于显示多行文字,类似于Radiobutton带标签的单选按钮控件;显示单选按钮状态Scalerange控件;显示数字刻度,Scrollbar滚动条控件,用于输出有限范围的数字,当内容超出可视区域时使用,如列表框。.Text文本控件;用于显示多行文本的Toplevel容器控件;用于提供单独的对话框,类似于FrameSpinbox输入控件;类似于Entry,但可以指定输入范围值PanedWindowPanedWindow是一个窗口布局管理插件,可以包含一个或多个子控件。LabelFramelabelframe是一个简单的容器控件。常见和复杂的窗口布局。tkMessageBox用于显示应用程序的消息框。2.Tkinter几何管理Tkinter控件有特定的几何状态管理方法来管理整个控件区域组织。以下是Tkinter暴露的几何管理类:package,grid,position3.Tkinter控件属性https://wenku.baidu.com/view/e34287db0722192e4436f657.html