Python GUI PyQt 和 TKinter 对比

一个GUI工具包包含用于创建图形界面小部件。Python包括各种可用的接口实现,从TkInter(Python附带)到各种不同的跨平台解决方案,例如PyQt5,PyQt5以更复杂的小部件和时尚的外观而闻名。

PyQt

PyQt是用于图形用户界面(GUI)小部件的工具箱。它是从Qt库中提取的。PyQt是Python语言和Qt库相结合的产物。PyQt随Qt Builder一起提供。我们将使用它来从Qt Creator获取python代码。在qt designer的支持下,我们可以构建一个GUI,然后可以获取该GUI的python代码。PyQt支持所有平台,包括Windows,macOS和UNIX。PyQt可用于创建时尚的GUI,这是一种现代且可移植的python框架。

# Import sys for handle the  
# exit status of the application. 
import sys 
  
# Importing required widgets 
from PyQt5.QtWidgets import QApplication 
from PyQt5.QtWidgets import QLabel 
from PyQt5.QtWidgets import QWidget 
  
# To create an instance of QApplication 
# sys.argv contains the list of 
# command-line argument 
app = QApplication(sys.argv) 
  
# To create an instance of application GUI 
# root is an instance of QWidget, 
# it provides all the features to 
# create the application's window 
root = QWidget()   
  
# adding title to window 
root.setWindowTitle('Geeks App')  
  
# to place txt at the coordinates 
root.move(60, 15)  
  
# to display text 
txt = QLabel('Welcome, Geeks!', parent = root)  
txt.move(60, 15) 
  
# Show application's GUI 
root.show() 
  
# Run application's main loop 
sys.exit(app.exec_()) 

输出:
在这里插入图片描述
一个简单的应用程序,可以使用PyQt显示文本。

使用PyQt的优点
编码的多功能性–使用Qt进行GUI编程是基于信号和插槽的思想,用于在对象之间建立联系。这允许处理GUI事件的多功能性,从而使代码库更加平滑。
Qt不仅仅是框架:Qt使用各种各样的本机平台API进行网络连接,数据库开发等。它通过特殊的API提供对它们的主要访问。
各种UI组件:Qt提供了多个小部件,例如按钮或菜单,所有这些小部件都具有用于所有兼容平台的基本界面。
各种学习资源:由于PyQt是Python最常用的UI系统之一,因此您可以方便地访问各种文档。
使用PyQt的缺点
缺少针对PyQt5中类的特定于Python的文档
掌握PyQt的所有细节需要花费很多时间,这意味着学习曲线相当陡峭。
如果该应用程序不是开源的,则必须支付商业许可证。

Tkinter

Tkinter是一个开源Python图形用户界面(GUI)库,以其简单性而闻名。它预装在Python中,因此您甚至无需考虑安装它。这些特性使它对于初学者和中级者都具有很强的地位。Tkinter不能用于大型项目。

代码:

# importing the module tkinter 
import tkinter as tk 
  
# create main window (parent window) 
root = tk.Tk() 
  
# Label() it display box 
# where you can put any text.  
txt = tk.Label(root, 
               text="Welcome to GeekForGeeks") 
  
# pack() It organizes the widgets 
# in blocks before placing in the parent widget. 
txt.pack() 
  
# running the main loop 
root.mainloop() 

输出:
在这里插入图片描述

一个简单的应用程序,可以使用tkinter来显示文本。

使用Tkinter的优点
与任何其他GUI工具包相比,Tkinter易于实现且快速。
Tkinter更灵活,更稳定。
Tkinter包含在Python中,因此无需额外下载。
Tkinter提供了一种简单的语法。
Tkinter真的很容易理解和掌握。
Tkinter提供了三种几何图形管理器:放置,打包和网格。这更强大且易于使用。
使用Tkinter的缺点
Tkinter不包括高级小部件。
它没有与Ttinter的Qt Designer相似的工具。
它没有可靠的UI。
有时,很难在Tkinter中进行调试。
它不是纯粹的Pythonic。

PyQt和Tkinter之间的区别

PyQtTkinter
执照PyQt在Riverbank商业许可和GPL v3(通用公共许可v 3.0)下可用,如果您不希望在与GPL兼容的许可下发布应用程序,则必须申请商业许可。Tkinter是开源的,免费用于任何商业用途。
上手难易程度了解PyQt的所有细节需要大量时间。由于库很小,因此Tkinter易于理解和掌握。
设计设计 PyQt具有现代外观和良好的UI。Tk设计较旧,看起来过时了。
小部件PyQt带有许多功能强大的高级小部件。TkInter不附带高级小部件。
UI designerPyQt有一个Qt Designer工具,我们可以使用它来构建GUI,然后获取该GUI的python代码。没有与Qt Designer相似的工具。
安装Python安装默认不包含PyQt。它包含在标准Python库中,因此无需单独安装。
  • 23
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值