欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python四款GUI圖形界面庫介紹

 更新時(shí)間:2022年06月03日 09:15:20   作者:springsnow  
這篇文章介紹了Python的四款GUI圖形界面庫,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、Python官方標(biāo)準(zhǔn)庫:Tkinter (必須了解)

Python內(nèi)置圖形界面庫——Tkinter。

    Tkinter 模塊(Tk 接口)是 Python 的標(biāo)準(zhǔn) Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多數(shù)的 Unix 平臺(tái)下使用,同樣可以應(yīng)用在 Windows 和 Macintosh 系統(tǒng)里。Tk8.0 的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中。

    用法:

    Tkinter的提供各種控件,如按鈕,標(biāo)簽和文本框,一個(gè)GUI應(yīng)用程序中使用。這些控件通常被稱為控件或者部件。

    目前有15種Tkinter的部件。我們提出這些部件以及一個(gè)簡短的介紹。

    • Button 按鈕控件;在程序中顯示按鈕。
    • Frame 框架控件;在屏幕上顯示一個(gè)矩形區(qū)域,多用來作為容器
    • Label 標(biāo)簽控件;可以顯示文本和位圖
    • Menubutton 菜單按鈕控件,由于顯示菜單項(xiàng)。
    • Menu 菜單控件;顯示菜單欄,下拉菜單和彈出菜單
    • Message 消息控件;用來顯示多行文本,與label比較類似
    • Scrollbar 滾動(dòng)條控件,當(dāng)內(nèi)容超過可視化區(qū)域時(shí)使用,如列表框。.
    • Text 文本控件;用于顯示多行文本
    • tkMessageBox 用于顯示你應(yīng)用程序的消息框。
    • Canvas 畫布控件;顯示圖形元素如線條或文本
    • Checkbutton 多選框控件;用于在程序中提供多項(xiàng)選擇框
    • Entry 輸入控件;用于顯示簡單的文本內(nèi)容
    • Listbox 列表框控件;在Listbox窗口小部件是用來顯示一個(gè)字符串列表給用戶
    • Radiobutton 單選按鈕控件;顯示一個(gè)單選的按鈕狀態(tài)
    • Scale 范圍控件;顯示一個(gè)數(shù)值刻度,為輸出限定范圍的數(shù)字區(qū)間
    • Toplevel 容器控件;用來提供一個(gè)單獨(dú)的對(duì)話框,和Frame比較類似
    • Spinbox 輸入控件;與Entry類似,但是可以指定輸入范圍值
    • PanedWindow PanedWindow是一個(gè)窗口布局管理的插件,可以包含一個(gè)或者多個(gè)子控件。
    • LabelFrame labelframe 是一個(gè)簡單的容器控件。常用與復(fù)雜的窗口布局。

    標(biāo)準(zhǔn)屬性

    標(biāo)準(zhǔn)屬性也就是所有控件的共同屬性,如大小,字體和顏色等等。

    • Dimension:控件大小;
    • Color:控件顏色;
    • Font:控件字體;
    • Anchor:錨點(diǎn);
    • Relief:控件樣式;
    • Bitmap:位圖;
    • Cursor:光標(biāo);

    幾何管理

    Tkinter控件有特定的幾何狀態(tài)管理方法,管理整個(gè)控件區(qū)域組織,一下是Tkinter公開的幾何管理類:包、網(wǎng)格、位置

    • pack():包裝;
    • grid():網(wǎng)格;
    • place():位置;

    由于 Tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫、而且 IDLE 也是用 Tkinter 編寫而成、對(duì)于簡單的圖形界面 Tkinter 還是能應(yīng)付自如。

    注意:Python3.x 版本使用的庫名為 tkinter,即首寫字母 T 為小寫。

    import tkinter

    創(chuàng)建一個(gè)GUI程序

    • 1、導(dǎo)入 Tkinter 模塊
    • 2、創(chuàng)建控件
    • 3、指定這個(gè)控件的 master, 即這個(gè)控件屬于哪一個(gè)
    • 4、告訴 GM(geometry manager) 有一個(gè)控件產(chǎn)生了。

    實(shí)例

    from tkinter import *  # 導(dǎo)入 Tkinter 庫
    
    root = Tk()  # 創(chuàng)建窗口對(duì)象的背景色
    # 創(chuàng)建兩個(gè)列表
    li = ['C', 'python', 'php', 'html', 'SQL', 'java']
    movie = ['CSS', 'jQuery', 'Bootstrap']
    listb = Listbox(root)  # 創(chuàng)建兩個(gè)列表組件
    listb2 = Listbox(root)
    for item in li:  # 第一個(gè)小部件插入數(shù)據(jù)
        listb.insert(0, item)
    
    for item in movie:  # 第二個(gè)小部件插入數(shù)據(jù)
        listb2.insert(0, item)
    
    listb.pack()  # 將小部件放置到主窗口中
    listb2.pack()
    root.mainloop()  # 進(jìn)入消息循環(huán)

    以上代碼執(zhí)行結(jié)果如下圖:

    二、三方庫:PyQt5(推薦,但是還是累)

    pyqt5是一套Python綁定Digia QT5應(yīng)用的框架。它可用于Python 2和3。Qt庫是最強(qiáng)大的GUI庫之一。Qt強(qiáng)大之處在于網(wǎng)上有很多pyqt的資源,而且qt技術(shù)已經(jīng)相當(dāng)成熟,pyqt是采用基本和qt一致的api,因此之前使用過qt的人,轉(zhuǎn)移到pyqt很容易.

    pyqt5做為Python的一個(gè)模塊,它有620多個(gè)類和6000個(gè)函數(shù)和方法。這是一個(gè)跨平臺(tái)的工具包,它可以運(yùn)行在所有主要的操作系統(tǒng),包括UNIX,Windows,Mac OS。pyqt5是雙重許可。開發(fā)者可以在GPL和商業(yè)許可之間進(jìn)行選擇。

    常用模塊

    • QtCore:包含了核心的非GUI功能。此模塊用于處理時(shí)間、文件和目錄、各種數(shù)據(jù)類型、流、URL、MIME類型、線程或進(jìn)程。
    • QtGui:包含類窗口系統(tǒng)集成、事件處理、二維圖形、基本成像、字體和文本。
    • Qtwidgets:包含創(chuàng)造經(jīng)典桌面風(fēng)格的用戶界面提供了一套UI元素的類。
    • QtMultimedia:包含的類來處理多媒體內(nèi)容和API來訪問相機(jī)和收音機(jī)的功能。
    • Qtwebsockets:包含實(shí)現(xiàn)WebSocket協(xié)議類。
    • QtWebKit:包含一個(gè)基于Webkit2圖書館Web瀏覽器實(shí)現(xiàn)類。
    • Qtwebkitwidgets:包含的類的基礎(chǔ)webkit1一用于qtwidgets應(yīng)用Web瀏覽器的實(shí)現(xiàn)。
    • QtXml:包含與XML文件的類。這個(gè)模塊為SAX和DOM API提供了實(shí)現(xiàn)。
    • QtSql:提供操作數(shù)據(jù)庫的類。

    1、安裝:

    pip install pyqt5

    測(cè)試

    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_())

    運(yùn)行后彈出如下界面,表示PyQt已經(jīng)正常工作啦。

    2、QtDesigner

    QT給我們帶來最方便的好處,就是它有一個(gè)QT Desiginer,這個(gè)設(shè)計(jì)器可以方便我們進(jìn)行頁面的布局,可以說在Tkinter里面需要一坨坨的代碼完成的頁面布局,在QT里面只要拖一拖控件就搞定了。

    Qtdesigner是Python設(shè)計(jì)里面一個(gè)非常實(shí)用的工具,使得人們編寫qt界面可以不僅僅是使用純代碼,而可以在可視化的基礎(chǔ)上設(shè)置,非常方便。

    用戶安裝PyQt5后,系統(tǒng)會(huì)默認(rèn)安裝QtDesigner工具。

    QtDesigner的默認(rèn)默認(rèn)路徑: C:\python\python\Lib\site-packages\PyQt5\designer.exe

    安裝PyQt5-tools

    Python環(huán)境需要安裝designer。 在終端執(zhí)行pip命令安裝完P(guān)yQt5-tools。

    pip install PyQt5-tools

    3、配置PyCharm

    打開Pycharm,然后按照下面路徑打開Extrernal Tools:

    File->設(shè)置->Tools->Extrernal Tools->點(diǎn)擊“+”號(hào)->彈出對(duì)話框,配置如下:

    (1).增加QT設(shè)計(jì)界面“Qt Designer” —— 這個(gè)就是設(shè)計(jì)Qt界面的工具

    • Program選擇PyQt安裝目錄中 designer.exe 的路徑
    • Work directory 使用變量 $ProjectFileDir$ (點(diǎn)擊后面的…)

    (2).增加“PyUIC” ——這個(gè)主要是用來將 Qt界面 轉(zhuǎn)換成 py代碼

    • Program選擇PyQt安裝目錄中 pyuic5.bat 的路徑
    • parameters設(shè)置為$FileName$ -o $FileNameWithoutExtension$.py
    • Work directory 設(shè)置為 $ProjectFileDir$ (點(diǎn)擊后面的…)

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

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

    4、使用PyQt

    1、點(diǎn)擊QtDesigner工具,彈出設(shè)計(jì)器窗口:

    如果打開Qt Designer 時(shí),提示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 目錄里, 或者直接覆蓋原來的文件。

    注意:兩個(gè)文件, 正確的文件大小 1.42M, 錯(cuò)誤文件大小38k。

    2、制作窗體,另存該界面為Untitled.ui文件到項(xiàng)目文件夾下。

    3、返回PyCharm 項(xiàng)目界面,項(xiàng)目列表下多出了這個(gè).ui文件

    把制作好的ui文件打開后,選擇pyuic即可轉(zhuǎn)換為*.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、調(diào)用方式

    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_())

    執(zhí)行結(jié)果

    三、三方庫:wxPython

    wxPython 是一款開源軟件,是 Python 語言的一套優(yōu)秀的 GUI 圖形庫,允許 Python 程序員很方便的創(chuàng)建完整的、功能健全的 GUI 用戶界面。

    wxPython是免費(fèi)的,源代碼是開放的,允許其應(yīng)用在商業(yè)產(chǎn)品上,你可以免費(fèi)使用它和共享它。同時(shí),它也提供類似QT Designer的設(shè)計(jì)器wxFormbuilder??梢哉f他就是個(gè)壓縮版的QT,但是該有的功能卻完全不缺失。

    四、三方庫:PyGTK

    PyGTK 讓你用 Python 輕松創(chuàng)建具有圖形用戶界面的程序.底層的 GTK+提供了各 式的可視元素和功能,如果需要,你能開發(fā)在 GNOME 桌面系統(tǒng)運(yùn)行的功能完整 的軟件。PyGTK 真正具有跨平臺(tái)性,它能不加修改地,穩(wěn)定運(yùn)行各種操作系統(tǒng)之 上,如 Linux,Windows,MacOS 等.除了簡單易用和快速的原型開發(fā)能力外,PyGTK還有一流的處理本地化語言的獨(dú)特功。

    到此這篇關(guān)于Python圖形界面庫的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

    相關(guān)文章

    • python爬蟲把url鏈接編碼成gbk2312格式過程解析

      python爬蟲把url鏈接編碼成gbk2312格式過程解析

      這篇文章主要介紹了python爬蟲把url鏈接編碼成gbk2312格式過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
      2020-06-06
    • 對(duì)python mayavi三維繪圖的實(shí)現(xiàn)詳解

      對(duì)python mayavi三維繪圖的實(shí)現(xiàn)詳解

      今天小編就為大家分享一篇對(duì)python mayavi三維繪圖的實(shí)現(xiàn)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
      2019-01-01
    • Python實(shí)現(xiàn)簡繁體轉(zhuǎn)換

      Python實(shí)現(xiàn)簡繁體轉(zhuǎn)換

      很多時(shí)候簡繁體轉(zhuǎn)換,掌握了簡體與繁體的轉(zhuǎn)換,往往能夠事半功倍,本文主要介紹了Python實(shí)現(xiàn)簡繁體轉(zhuǎn)換,感興趣的可以了解一下
      2021-06-06
    • Python中函數(shù)的各種類型參數(shù)解讀

      Python中函數(shù)的各種類型參數(shù)解讀

      這篇文章主要介紹了Python中函數(shù)的各種類型參數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
      2023-08-08
    • keras .h5轉(zhuǎn)移動(dòng)端的.tflite文件實(shí)現(xiàn)方式

      keras .h5轉(zhuǎn)移動(dòng)端的.tflite文件實(shí)現(xiàn)方式

      這篇文章主要介紹了keras .h5轉(zhuǎn)移動(dòng)端的.tflite文件實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
      2020-05-05
    • python在控制臺(tái)輸出進(jìn)度條的方法

      python在控制臺(tái)輸出進(jìn)度條的方法

      這篇文章主要介紹了python在控制臺(tái)輸出進(jìn)度條的方法,實(shí)例分析了Python輸出進(jìn)度條效果的方法,需要的朋友可以參考下
      2015-06-06
    • python strip()函數(shù) 介紹

      python strip()函數(shù) 介紹

      Python strip() 方法用于移除字符串頭尾指定的字符,需要的朋友可以參考下
      2013-05-05
    • 詳解如何利用Python制作24點(diǎn)小游戲

      詳解如何利用Python制作24點(diǎn)小游戲

      這篇文章主要為大家詳細(xì)介紹了如何通過Python制作24點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
      2022-03-03
    • 教你如何使Python爬取酷我在線音樂

      教你如何使Python爬取酷我在線音樂

      這篇文章主要介紹了如何利用?Python?實(shí)現(xiàn)酷我在線音樂的爬取,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
      2022-04-04
    • Python實(shí)現(xiàn)圖片添加文字

      Python實(shí)現(xiàn)圖片添加文字

      這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)圖片添加文字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
      2019-11-11

    最新評(píng)論