Python进行GUI开发的库其实很多,下面我简单介绍几个不错的库,感兴趣的朋友可以自己尝试一下,实验环境win10+python36+pycharm50,主要内容如下:
tkinter
这个就不用多说了,python自带的GUI开发标准库,对于开发小型简单的应用来说,完全可以了,开源、跨平台,使用起来非常方便,下面我简单测试一下,主要代码如下:
点击运行程序,效果如下,一个窗口一个Label标签:
easygui
这个是基于tkinter的一个窗口GUI库,可以快速创建窗口对话框,包括常见的登陆对话框、注册对话框等,下面我简单介绍一下这个库的安装和使用:
1首先,安装easygui,这个直接在cmd窗口输入安装命令“pipinstalleasygui”就行,如下:
2安装完成后,我们就可以直接编写代码进行测试了,主要代码如下,非常简单:
点击运行这个程序,效果如下:
kivy
这是一个跨平台的GUI应用程序开发库,可以用来开发安卓、苹果应用,一套程序,可以处处运行,下面我简单介绍一下这个库的安装和使用:
1首先,安装kivy,这个直接按官方教程安装就行,如下:
2安装完成后,就可以直接编写代码进行测试了,主要代码如下,非常简单:
点击运行程序,效果如下,这里你可以将其打包为手机应用,安装到手机上:
wxpython
这也是一个免费、跨平台的PythonGUI开发库,相比较前面的tkinter来说,功能更为强大,控件也更多,下面我简单介绍一下这个库的安装和使用:
1首先,安装wxpython,这个也直接在cmd窗口输入命令“pipinstallwxpython”就行,如下:
2安装完成后,我们就可以直接编写相关代码进行测试了,主要代码如下,非常简单,一个简单的文本编辑器:
点击运行这个程序,效果如下:
pyqt
这个Qt的一个Python接口库,借助于Qt强大的用户界面,Python也可以快速开发出GUI程序,组件更多,也更方便,只要你有一定的Qt基础,很快就能掌握这个库的使用,下面我简单介绍一下这个库的安装和使用:
1首先,安装pyqt,这个直接在cmd窗口输入安装命令“pipinstallpyqt5”就行,如下,安装需要稍微等待一会儿:
2安装完成后,我们就可以直接编写代码进行测试了,如下,一个简单的计算器:
点击运行这个程序,效果如下:
至此,我们就介绍完了这5个PythonGUI库。总的来说,这5个库使用起来都非常不错,如果你的应用界面比较简单,功能要求不高,可以选择tkinter和easygui,如果界面比较复杂,功能要求比较复杂,可以考虑使用wxpython或pyqt,当然,你也可以使用其他GUI库,像pygame等,根据实际项目需求而定,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
Frame如果设置大小的话,只有当使用了pack_propagate(0)或者grid_propagate(0)之后(width,height)才起作用,而且调用前Frame要pack或者grid了。
python提供了多个图形开发界面的库,几个常用Python GUI库如下:
Tkinter: Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里,Tk80的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。
Jython:Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,Jython的用户界面将使用Swing,AWT或者SWT。Jython可以被动态或静态地编译成Java字节码。
Tkinter 编程
Tkinter 是Python的标准GUI库。Python使用Tkinter可以快速的创建GUI应用程序。
由于Tkinter是内置到python的安装包中、只要安装好Python之后就能import Tkinter库、而且IDLE也是用Tkinter编写而成、对于简单的图形界面Tkinter还是能应付自如。
创建一个GUI程序
1、导入Tkinter模块
2、创建控件
3、指定这个控件的master, 即这个控件属于哪一个
4、告诉GM(geometry manager)有一个控件产生了。
实例:
1 #!/usr/bin/python2 # -- coding: UTF-8 --3 4 import Tkinter5 top = TkinterTk()6 # 进入消息循环7 topmainloop()实例2:
1 #!/usr/bin/python 2 # -- coding: UTF-8 -- 3 4 from Tkinter import # 导入 Tkinter 库 5 root = Tk() # 创建窗口对象的背景色 6 # 创建两个列表 7 li = ['C','python','php','html','SQL','java'] 8 movie = ['CSS','jQuery','Bootstrap'] 9 listb = Listbox(root) # 创建两个列表组件10 listb2 = Listbox(root)11 for item in li: # 第一个小部件插入数据12 listbinsert(0,item)13 14 for item in movie: # 第二个小部件插入数据15 listb2insert(0,item)16 17 listbpack() # 将小部件放置到主窗口中18 listb2pack()19 rootmainloop() # 进入消息循环Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表:
控件
描述
Button 按钮控件;在程序中显示按钮。
Canvas 画布控件;显示图形元素如线条或文本
Checkbutton 多选框控件;用于在程序中提供多项选择框
Entry 输入控件;用于显示简单的文本内容
Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器
Label 标签控件;可以显示文本和位图
Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton 菜单按钮控件,由于显示菜单项。
Menu 菜单控件;显示菜单栏,下拉菜单和d出菜单
Message 消息控件;用来显示多行文本,与label比较类似
Radiobutton 单选按钮控件;显示一个单选的按钮状态
Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框。
Text 文本控件;用于显示多行文本
Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox 输入控件;与Entry类似,但是可以指定输入范围值
PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox 用于显示你应用程序的消息框。
标准属性
标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。
属性 描述
Dimension 控件大小;
Color 控件颜色;
Font 控件字体;
Anchor 锚点;
Relief 控件样式;
Bitmap 位图;
Cursor 光标;
几何管理
Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置
几何方法 描述
pack() 包装;
grid() 网格
place() 位置
tkupdate()的全称是tkinterTkupdate
为什么在调整窗口大小时tkinterTkupdate()会阻塞?
我认为答案是因为update必须在返回事件队列之前处理事件队列中的所有事件,并且在拖动窗口的边缘或角落时,调整窗口大小将向事件队列发送稳定的事件流。
显示目前注册的after事件或者某个after事件的详细信息:
直接使用after info命令来显示所有的after事件:
% after 5000 set a b
after#1
% after 5000 set a c
after#2
% after info
after#2 after#1
如果需要知道after事件的详细信息,就需要使用具体的事件ID:
% after info after#1
{set a b} timer
TKinter
Python 的 GUI 库非常多,之所以选择 Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,跨平台兼容性非常好,三则是从需求出发的,Python 在实际应用中极少用于开发复杂的桌面应用,毕竟,Python 的各种 GUI 工具包都“一般得很”,不具备优势。
Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。
对于稍有GUI编程经验的人来说,Python的Tkinter界面库是非常简单的。python的GUI库非常多,选择Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,三则是从需求出发,Python作为一种脚本语言,一种胶水语言,一般不会用它来开发复杂的桌面应用,它并不具备这方面的优势,使用Python,可以把它作为一个灵活的工具,而不是作为主要开发语言,那么在工作中,需要制作一个小工具,肯定是需要有界面的,不仅自己用,也能分享别人使用,在这种需求下,Tkinter是足够胜任的!
以上就是关于Python如何进行GUI桌面开发有哪些不错的库可以推荐全部的内容,包括:Python如何进行GUI桌面开发有哪些不错的库可以推荐、如何使tkinter中frame的大小不随label而变化、python图形化界面设计tkinter等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)