iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python四款GUI图形界面库介绍
  • 332
分享到

Python四款GUI图形界面库介绍

2024-04-02 19:04:59 332人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、python官方标准库:Tkinter (必须了解)用法:二、三方库:PyQt5(推荐,但是还是累)1、安装:2、QtDesigner3、配置PyCharm4、使用PyQt三

一、Python官方标准库:Tkinter (必须了解)

Python内置图形界面库——Tkinter。

    Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 windowsMacintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

    用法:

    Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。

    目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍。

    • Button 按钮控件;在程序中显示按钮。
    • Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器
    • Label 标签控件;可以显示文本和位图
    • Menubutton 菜单按钮控件,由于显示菜单项。
    • Menu 菜单控件;显示菜单栏,下拉菜单和弹出菜单
    • Message 消息控件;用来显示多行文本,与label比较类似
    • Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框。.
    • Text 文本控件;用于显示多行文本
    • tkMessageBox 用于显示你应用程序的消息框。
    • canvas 画布控件;显示图形元素如线条或文本
    • Checkbutton 多选框控件;用于在程序中提供多项选择框
    • Entry 输入控件;用于显示简单的文本内容
    • Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
    • Radiobutton 单选按钮控件;显示一个单选的按钮状态
    • Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间
    • Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似
    • Spinbox 输入控件;与Entry类似,但是可以指定输入范围值
    • PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
    • LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。

    标准属性

    标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。

    • Dimension:控件大小;
    • Color:控件颜色;
    • Font:控件字体;
    • Anchor:锚点;
    • Relief:控件样式;
    • Bitmap:位图;
    • Cursor:光标;

    几何管理

    Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置

    • pack():包装;
    • grid():网格;
    • place():位置;

    由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

    注意python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。

    import tkinter

    创建一个GUI程序

    • 1、导入 Tkinter 模块
    • 2、创建控件
    • 3、指定这个控件的 master, 即这个控件属于哪一个
    • 4、告诉 GM(geometry manager) 有一个控件产生了。

    实例

    from tkinter import *  # 导入 Tkinter 库
    
    root = Tk()  # 创建窗口对象的背景色
    # 创建两个列表
    li = ['C', 'python', 'PHP', 'html', 'sql', 'java']
    movie = ['CSS', 'Jquery', 'Bootstrap']
    listb = Listbox(root)  # 创建两个列表组件
    listb2 = Listbox(root)
    for item in li:  # 第一个小部件插入数据
        listb.insert(0, item)
    
    for item in movie:  # 第二个小部件插入数据
        listb2.insert(0, item)
    
    listb.pack()  # 将小部件放置到主窗口中
    listb2.pack()
    root.mainloop()  # 进入消息循环

    以上代码执行结果如下图:

    二、三方库:PyQt5(推荐,但是还是累)

    pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。Qt库是最强大的GUI库之一。Qt强大之处在于网上有很多pyqt的资源,而且qt技术已经相当成熟,pyqt是采用基本和qt一致的api,因此之前使用过qt的人,转移到pyqt很容易.

    pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。

    常用模块

    • QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
    • QtGui:包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。
    • Qtwidgets:包含创造经典桌面风格的用户界面提供了一套UI元素的类。
    • QtMultimedia:包含的类来处理多媒体内容和API来访问相机和收音机的功能。
    • Qtwebsockets:包含实现websocket协议类。
    • QtWebKit:包含一个基于WEBkit2图书馆Web浏览器实现类。
    • Qtwebkitwidgets:包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
    • QtXml:包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
    • QtSql:提供操作数据库的类。

    1、安装:

    pip install pyqt5

    测试

    import sys
    
    from PyQt5 import QtWidgets, QtCore
    
    app = QtWidgets.QApplication(sys.argv)
    widget = QtWidgets.QWidget()
    widget.resize(400, 100)
    widget.setWindowTitle("This is a demo for PyQt Widget.")
    widget.show()
    
    exit(app.exec_())

    运行后弹出如下界面,表示PyQt已经正常工作啦。

    2、QtDesigner

    QT给我们带来最方便的好处,就是它有一个QT Desiginer,这个设计器可以方便我们进行页面的布局,可以说在Tkinter里面需要一坨坨的代码完成的页面布局,在QT里面只要拖一拖控件就搞定了。

    Qtdesigner是Python设计里面一个非常实用的工具,使得人们编写qt界面可以不仅仅是使用纯代码,而可以在可视化的基础上设置,非常方便。

    用户安装PyQt5后,系统会默认安装QtDesigner工具。

    QtDesigner的默认默认路径: C:\python\python\Lib\site-packages\PyQt5\designer.exe

    安装PyQt5-tools

    Python环境需要安装designer。 在终端执行pip命令安装完PyQt5-tools。

    pip install PyQt5-tools

    3、配置PyCharm

    打开Pycharm,然后按照下面路径打开Extrernal Tools:

    File->设置->Tools->Extrernal Tools->点击“+”号->弹出对话框,配置如下:

    (1).增加QT设计界面“Qt Designer” —— 这个就是设计Qt界面的工具

    • Program选择PyQt安装目录中 designer.exe 的路径
    • Work directory 使用变量 $ProjectFileDir$ (点击后面的…)

    (2).增加“PyUIC” ——这个主要是用来将 Qt界面 转换成 py代码

    • Program选择PyQt安装目录中 pyuic5.bat 的路径
    • parameters设置为$FileName$ -o $FileNameWithoutExtension$.py
    • Work directory 设置为 $ProjectFileDir$ (点击后面的…)

    工具建立成功后返回ExternalTools界面,如下:

    可以在tools里面看到我们的工具

    4、使用PyQt

    1、点击QtDesigner工具,弹出设计器窗口:

    如果打开Qt Designer 时,提示This application failed to start because no qt platform plugin could be:

    可以把 C:\Users\bobin.yang\PycharmProjects\untitled\venv\Lib\site-packages\pyqt5_tools\Qt\plugins\platfORMs 目录的qwindows.dll拷贝到

    C:\Users\bobin.yang\PycharmProjects\untitled\venv\Lib\site-packages\pyqt5_tools\Qt\bin\platforms 目录里, 或者直接覆盖原来的文件。

    注意:两个文件, 正确的文件大小 1.42M, 错误文件大小38k。

    2、制作窗体,另存该界面为Untitled.ui文件到项目文件夹下。

    3、返回PyCharm 项目界面,项目列表下多出了这个.ui文件

    把制作好的ui文件打开后,选择pyuic即可转换为*.py文件

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'untitled.ui'
    #
    # Created by: PyQt5 UI code generator 5.15.0
    #
    # WARNING: Any manual changes made to this file will be lost when pyuic5 is
    # run again.  Do not edit this file unless you know what you are doing.
    
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(800, 600)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setGeometry(QtCore.QRect(320, 310, 93, 28))
            self.pushButton.setObjectName("pushButton")
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 25))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.pushButton.setText(_translate("MainWindow", "PushButton"))

    4、调用方式

    import sys
    import untitled
    from PyQt5 import QtWidgets
    
    if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        widget = QtWidgets.QMainWindow()
        ui = untitled.Ui_MainWindow()
        ui.setupUi(widget)
        widget.show()
        sys.exit(app.exec_())

    执行结果

    三、三方库:wxPython

    wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。

    wxPython是免费的,源代码是开放的,允许其应用在商业产品上,你可以免费使用它和共享它。同时,它也提供类似QT Designer的设计器wxFormbuilder。可以说他就是个压缩版的QT,但是该有的功能却完全不缺失。

    四、三方库:PyGTK

    PyGTK 让你用 Python 轻松创建具有图形用户界面的程序.底层的 GTK+提供了各 式的可视元素和功能,如果需要,你能开发在 GNOME 桌面系统运行的功能完整 的软件。PyGTK 真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之 上,如 linux,Windows,MacOS 等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功。

    到此这篇关于Python图形界面库的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

    --结束END--

    本文标题: Python四款GUI图形界面库介绍

    本文链接: https://www.lsjlt.com/news/118540.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Python四款GUI图形界面库介绍
      目录一、Python官方标准库:Tkinter (必须了解)用法:二、三方库:PyQt5(推荐,但是还是累)1、安装:2、QtDesigner3、配置PyCharm4、使用PyQt三...
      99+
      2024-04-02
    • python的图形用户界面介绍
      目录python的图形用户界面msgbox的使用ccbox的使用buttonbox的使用buttonbox添加图片choicebox的使用multchoicebox的使用总结pyth...
      99+
      2024-04-02
    • Python GUI 图形用户界面
      目录GUI介绍简单操作tkinter组件介绍向窗体中添加按钮控件使用文本框控件使用菜单控件使用标签控件使用单选按钮和复选按钮组件使用绘图组件GUI介绍 图形用户界面(Graphica...
      99+
      2024-04-02
    • Java图形化界面编程介绍
      目录1.内容概述2.容器Container2.1Window2.2Panel2.3ScrollPane2.4Box3.布局管理器3.1FlowLayout3.2BorderLayou...
      99+
      2024-04-02
    • python简单图形界面GUI入门——e
      感觉gui做起来成就感比较高,学完基础语言顺便花一个下午看看GUI设计,现在回顾来看这个如果做正式的展示太过简单,easygui只是小演示之用。     首先是easygui包下载,两种方式: 1)在python环境下,用pip3 in...
      99+
      2023-01-31
      图形界面 入门 简单
    • Java GUI——Java图形用户界面
      Java GUI——Java图形用户界面 1、Java GUI概述 1.1、GUI的前世今生     早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。如:Windows中的DOS窗口。后来,Apple公司率先在电脑...
      99+
      2023-10-08
      java 算法 struts
    • Python不用Gui怎么实现图形界面
      这篇文章主要介绍了Python不用Gui怎么实现图形界面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python不用Gui怎么实现图形界面文章都会有所收获,下面我们一起来看看吧。神器出场Web 程序是用 Fl...
      99+
      2023-07-06
    • 实现Python图形界面框架TkInter写GUI界面应用简介过程操作
      前言 它的底层是Tcl/Tk,先用起来再说,另外Python毕竟是面向对象语言,所以全文会使用到class和对象,尽量日后能满足开发项目的需求。 (备注:Tcl/Tk 是一种简明,高...
      99+
      2024-04-02
    • Python GUI图形用户界面怎么使用
      这篇文章主要介绍“Python GUI图形用户界面怎么使用”,在日常操作中,相信很多人在Python GUI图形用户界面怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python&...
      99+
      2023-07-02
    • 关于Python制作简单的图形界面GUI
      #简单的图形界面GUI(Graphical User Interface) from tkinter import * import tkinter.messagebox as messagebox class Application(F...
      99+
      2023-01-31
      图形界面 简单 Python
    • Python入门四:创建第一个图形界面
      1、使用QtDesigner制作界面,打开的界面设计工具QtDesigner,如图:2、新建窗体,选择Main Window3、添加几个组件4、添加事件点击拖动按钮添加并关联事件5、保存ui文件6、右键.ui文件使用PyUIC工具转化.u...
      99+
      2023-01-31
      第一个 图形界面 入门
    • python之图形界面
      12.1 丰富的平台在编写python GUI程序前,需要决定使用哪个GUI平台。wxpython----跨平台pythonGUI工具包确保所选择的二进制版本要对应python的版本,例如,针对python2.3进行编译的wxpython并...
      99+
      2023-01-31
      图形界面 python
    • 教你用一行Python代码实现GUI图形界面
      目录一、选择文件夹二、选择文件三、选择日期四、输入文本五、弹窗无按钮六、弹窗无标题七、弹窗只有OK按钮八、弹窗只有Error按钮(红色)九、显示通知窗口十、弹窗选择十一、自定义弹窗实...
      99+
      2023-01-03
      Python GUI图形界面 Python 图形界面
    • Python小技之不用 Gui,照样实现图形界面
      如果说程序员有什么怕的,那我想可能就是 —— 需求又变了!这不,客户在笔者开发完一个基于浏览器的 Web 应用程序之后说:程序需要在内(无)部(网)环境中运行……这就意味着无法安装 Python 环境!谁叫咱是程序员呢,不就开发一个 GUI...
      99+
      2023-05-14
      Python 界面 GUI
    • 怎么用一行Python代码实现GUI图形界面
      本篇内容介绍了“怎么用一行Python代码实现GUI图形界面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!主要使用Python的PySimp...
      99+
      2023-06-30
    • Java图形界面GUI布局方式(小结)
      目录流式布局边界布局卡片布局自定义布局流式布局 采用流式布局会将元素按从左到右的顺序排列,如果一个元素在一行中放不下,那这个元素会另起一行依然按照从左到右的顺序排列 示例: ...
      99+
      2024-04-02
    • python学习——图形界面
      Python支持多种图形界面的第三方库,包括: Tk wxWidgets Qt GTK 等等。 但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用。本章简单介绍如何使用T...
      99+
      2023-01-31
      图形界面 python
    • GUI 与图形用户界面:跨平台挑战
      跨平台 GUI 开发的挑战 在跨平台应用程序开发中,图形用户界面 (GUI) 呈现一系列独特的挑战,包括: 差异化的平台 API:不同的平台(例如 Windows、macOS、Linux)使用不同的 API 和控件集来创建 GUI。 布...
      99+
      2024-03-09
      跨平台 开发 GUI 图形用户界面 挑战 解决 方案
    • Python 图形化界面 ——QtDes
      本案例旨在用QtDesigner与Python结合实现图像化界面,GUI。 其中包含数据预处理模块、特征提取模块、模型建立模块,以及最后的图形化展示模块等等。 话不多说,直接上图。 这个GUI可以作为大多数模式识别的可视化界面。简单的...
      99+
      2023-01-31
      图形化 界面 Python
    • 教你如何用一行Python代码实现GUI图形界面
      目录1、选择文件夹2、选择文件3、选择日期4、输入文本5、弹窗无按钮6、弹窗无标题7、弹窗只有OK按钮8、弹窗只有Error按钮(红色)9、显示通知窗口10、弹窗选择11、自定义弹窗...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作