Python如何进行GUI桌面开发有哪些不错的库可以推荐

Python如何进行GUI桌面开发有哪些不错的库可以推荐,第1张

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9270746.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存