国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PySide6精簡教程

這篇具有很好參考價(jià)值的文章主要介紹了PySide6精簡教程。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、PySide6概述

近幾年,受益于人工智能的崛起,Python語言幾乎以壓倒性優(yōu)勢在眾多編程語言中異軍突起,成為AI時(shí)代的首選語言。在很多情況下,我們想要以圖形化方式將我們的人工智能算法打包提供給用戶使用,這時(shí)候選擇以python為主的GUI框架就非常合適了。

QT是眾多GUI框架里面非常著名的一款,它本身由C++開發(fā),天然支持基于C++的GUI編程,編出來的圖形化軟件在當(dāng)今眾多GUI框架中運(yùn)行效率幾乎是天花板級別的,擁有完善的第三方庫,極其適合數(shù)字圖像處理、文檔排版、多媒體、3D建模等專業(yè)軟件開發(fā)。與此同時(shí),QT還有一個(gè)強(qiáng)大的功能:支持跨平臺(tái),簡單來理解,就是我們只需要編寫一套代碼就可以同時(shí)在windows、mac、linux上運(yùn)行。

值得一提的是,QT對Python也有完善API支持,意味著我們可以規(guī)避C++編程的苦惱,使用更簡潔的Python來代替C++開發(fā)QT應(yīng)用,同樣具備跨平臺(tái)等優(yōu)勢。需要說明的是,目前有兩種QT對應(yīng)的Python工具:PySide和PyQt。這里首先介紹下兩者的區(qū)別。

PySide是Qt公司的產(chǎn)品,PyQt是第三方公司的產(chǎn)品,二者用法基本相同,不過在使用協(xié)議上卻有很大差別。PySide可以在LGPL協(xié)議下使用,PyQt則在GPL協(xié)議下使用。這兩個(gè)協(xié)議的區(qū)別就是如果使用PyQt,那么你開發(fā)的軟件必須開源,否則就存在被告的風(fēng)險(xiǎn)。而PySide就沒有這種約束,不管是開發(fā)商業(yè)閉源軟件還是開源軟件,你都可以不開源代碼,開不開源是你的自由。從這一點(diǎn)上來看,對于商業(yè)公司或者說有商業(yè)考慮的軟件來說,我更傾向于推薦PySide,更何況PySide還是QT的親兒子。雖然PySide和PyQt在協(xié)議上有不同,但是兩者提供的接口幾乎是完全一致的。目前市面上PyQt的教程完全適合PySide,因此,對于學(xué)習(xí)者來說學(xué)習(xí)任何一個(gè)都是可以的。

PySide目前常見的有兩個(gè)版本:PySide2和PySide6。PySide2由C++版的Qt5開發(fā)而來.,而PySide6對應(yīng)的則是C++版的Qt6。從PySide6開始,PySide的命名也會(huì)與Qt的大版本號保持一致,不會(huì)再出現(xiàn)類似PySide2對應(yīng)Qt5這種容易混淆的情況。

在使用層面上,PySide2和PySide6無過多的差異,只有一點(diǎn)需要注意,使用PySide6開發(fā)的程序在默認(rèn)情況下不兼容Windows7系統(tǒng),這也是Qt6所決定的(即使是C++的QT6也不支持windows7)。

二、安裝PySide6

對于PySide開發(fā)來說,我們不需要完整的安裝幾個(gè)G的Qt,可以像普通Python庫一樣直接通過pip安裝就行,大概占用300MB空間(需要提前安裝好python3以及pip)。

可以使用下面的命令安裝:

pip install --upgrade pip
pip install pyside6 -i https://mirror.baidu.com/pypi/simple

通過這樣簡單的命令就可以完成安裝。

基于PySide6開發(fā)GUI程序包含下面三個(gè)基本步驟:

  • 設(shè)計(jì)GUI,圖形化拖拽或手?jǐn)];
  • 響應(yīng)UI的操作(如點(diǎn)擊按鈕、輸入數(shù)據(jù)、服務(wù)器更新),使用信號與Slot連接界面和業(yè)務(wù);
  • 打包發(fā)布;

下面我們按照這個(gè)步驟來快速實(shí)現(xiàn)一遍。

三、設(shè)計(jì)界面

PySide為我們提供了兩種開發(fā)界面的方式,一種叫QtWidget,是在網(wǎng)上教程中最常見的方式;另一種叫QML,是一種新型的開發(fā)方式,也是Qt正在努力推廣的開發(fā)方式。在本文中,我們主要使用QtWidget這種方式。

使用QtWidget開發(fā)程序時(shí),也有兩種基本的使用方法,一種是通過designer開發(fā)界面,另一種是用代碼手動(dòng)開發(fā)界面。本文的目的是極簡快速入門,所以使用designer這種方便的方式進(jìn)行開發(fā)。

我們可以在cmd終端中使用下面的命令啟動(dòng)designer:

pyside6-designer

啟動(dòng)后designer界面如下所示:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI
這里我們選擇Widget,并點(diǎn)擊創(chuàng)建,之后打開的界面如下:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI
讓我們來看一下界面里都有什么:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI

  • 組件選擇區(qū):用來選擇組件,鼠標(biāo)選擇組件后就可以拖拽到窗口界面上,在本教程中會(huì)使用到一部分這里的組件;
  • 工作區(qū):用來布置界面,調(diào)整窗口,我們可以把工作區(qū)中的窗口隨意拖拽、調(diào)整大?。?/li>
  • 對象查看區(qū):查看界面上共有多少組件,以及它們的布局關(guān)系;
  • 屬性設(shè)置區(qū):設(shè)置組件的屬性,如文本、大小、名稱等;

這里我們先把工作區(qū)中的窗口拖放到中間,再從組件選擇區(qū)里拖拽一個(gè)Label組件到窗口上,如下圖所示:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI
之后我們雙擊窗口里面的Label,輸入“你好?。∈澜纭?,我們會(huì)發(fā)現(xiàn)默認(rèn)的Label大小并不能完全展示文本,所以我們把Label的寬度拉長(單擊Label后,拖住周圍的深藍(lán)色方塊即可調(diào)整大?。缦聢D所示:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI
接下來我們保存這個(gè)界面(Ctrl+S),或者在菜單欄選擇“文件”->“保存”,我們將其保存到桌面一個(gè)名為hello的文件夾中,保存命名為hello.ui。

注意,PySide6是不能直接使用ui文件的,我們還需要將其轉(zhuǎn)為py文件。首先cd到hello文件夾中,然后使用命令:

pyside6-uic hello.ui > ui.py

這樣我們就會(huì)得到一個(gè)ui.py文件,我們可以打開看一下,里面都是一些界面代碼,如下所示:

# -*- coding: utf-8 -*-
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QLabel, QSizePolicy, QWidget)

class Ui_Form(object):
    def setupUi(self, Form):
        if not Form.objectName():
            Form.setObjectName(u"Form")
        Form.resize(400, 300)
        self.label = QLabel(Form)
        self.label.setObjectName(u"label")
        self.label.setGeometry(QRect(180, 110, 101, 16))

        self.retranslateUi(Form)

        QMetaObject.connectSlotsByName(Form)
    # setupUi

    def retranslateUi(self, Form):
        Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None))
        self.label.setText(QCoreApplication.translate("Form", u"\u4f60\u597d\u554a\uff01\u4e16\u754c\uff01", None))
    # retranslateUi

如果不使用designer,那么這個(gè)ui.py就需要我們手動(dòng)來寫,所以,使用designer可以加快開發(fā)速度,減少工作量,提升開發(fā)效率。

這里還要個(gè)問題要解決,我們使用命令pyside6-uic轉(zhuǎn)換出來的ui.py文件其保存格式不是utf-8,因此我們要用編輯器將其保存為utf-8才可以,否則后面加載該文件會(huì)報(bào)錯(cuò):

四、響應(yīng)UI操作

接下來我們就要寫代碼來把界面展示出來,新建一個(gè)名為hello的py文件:

# 導(dǎo)入sys
import sys

# 任何一個(gè)PySide界面程序都需要使用QApplication
# 我們要展示一個(gè)普通的窗口,所以需要導(dǎo)入QWidget,用來讓我們自己的類繼承
from PySide6.QtWidgets import QApplication, QWidget
# 導(dǎo)入我們生成的界面
from ui import Ui_Form
 
# 繼承QWidget類,以獲取其屬性和方法
class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        # 設(shè)置界面為我們生成的界面
        self.ui = Ui_Form()
        self.ui.setupUi(self)

# 程序入口
if __name__ == "__main__":
    # 初始化QApplication,界面展示要包含在QApplication初始化之后,結(jié)束之前
    app = QApplication(sys.argv)
 
    # 初始化并展示我們的界面組件
    window = MyWidget()
    window.show()
    
    # 結(jié)束QApplication
    sys.exit(app.exec_())

注釋中包含了詳細(xì)的代碼說明,接下來我們只要執(zhí)行這個(gè)py文件,就可以看到我們的界面了:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI

五、打包部署

我們最終希望交給用戶是一個(gè)純粹的exe可執(zhí)行文件(可以包含一些dll之類的動(dòng)態(tài)庫或配置文件),用戶不需要安裝Python依賴,直接雙擊就可以運(yùn)行展示。下面我們來實(shí)現(xiàn)最后的這個(gè)環(huán)節(jié)。

下面主要以windows為例。

首選安裝打包工具:

pip install pyinstaller -i https://mirror.baidu.com/pypi/simple
pip install auto-py-to-exe -i https://mirror.baidu.com/pypi/simple

運(yùn)行:auto-py-to-exe,會(huì)自動(dòng)打開瀏覽器,然后進(jìn)入打包部署配置頁面,如下圖所示:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI

  • Script Location:選擇要打包的py主程序;
  • One File:選生成單一文件;
  • Console Window:選擇不顯示命令行窗口;
  • Icon:可設(shè)置圖標(biāo);
  • Additional Files:除了主程序以外其它的需要打包的文件;
  • Advanced:可設(shè)置UPX(從這里下載 https://upx.github.io/)然后點(diǎn)擊“Convert .PY to .EXE”就會(huì)自動(dòng)生成.exe文件了,在當(dāng)前目錄output子目錄下。該特性用于進(jìn)一步壓縮exe體積。

最終配置如下所示:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI
最終在hello文件下會(huì)生成output文件夾,其中就生成了打包部署好的exe文件,如下圖所示:
pyside6,單獨(dú)的博客資料,qt,PySide6,簡單教程,部署,python GUI到這里本文就完成了一個(gè)簡單的基于PySide6的項(xiàng)目開發(fā)(雖然我們幾乎沒實(shí)現(xiàn)什么功能)。文章來源地址http://www.zghlxwxcb.cn/news/detail-780486.html

到了這里,關(guān)于PySide6精簡教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • pyside6上位機(jī)開發(fā)

    ini文件

    2024年02月07日
    瀏覽(28)
  • Pyside6:加載.ui

    通常來說開發(fā)Qt的界面基本都在Qt Designer中進(jìn)行的,它保存的文件為.ui,我們可以通過uic將其轉(zhuǎn)變?yōu)?py文件(如何使用:Pyside6:安裝及Pycharm配置_pyside6安裝pycharm-CSDN博客)。 那么該如何進(jìn)行加載呢?大致來說有兩種方法: 這個(gè)非常簡單,無需把.ui文件進(jìn)行轉(zhuǎn)換,但 loader.loa

    2024年02月03日
    瀏覽(23)
  • pycharm添加pyside6插件

    pycharm添加pyside6插件

    前言: 在提到python的可視化界面時(shí),很多朋友第一時(shí)間想到的可能是pyqt5,畢竟它在網(wǎng)絡(luò)的知名度比較高,很多技術(shù)文章都用的是pyqt5,微智啟工作室在最開始接觸可視化界面的時(shí)候,也是接觸的pyqt5,但是隨著學(xué)習(xí)的深入,才直到pyqt5的許可制度限制比較高。 而pyside6的功能

    2024年04月26日
    瀏覽(24)
  • PySide6 QComboBox 組合下拉框

    QComboBox 組合下拉框 QComboBox控件是按鈕和彈出式列表的結(jié)合,用于在很小的控件內(nèi)為用戶提供多個(gè)選項(xiàng) 組合框是一個(gè)顯示當(dāng)前項(xiàng)目的選擇小部件,可以彈出可選擇項(xiàng)目的列表。 組合框可以是可編輯的,允許用戶修改列表中的每個(gè)項(xiàng)目。 QComboBox 除了顯示可見下拉列表外,每個(gè)

    2024年02月15日
    瀏覽(130)
  • Pyside6 安裝和簡單界面開發(fā)

    Pyside6 安裝和簡單界面開發(fā)

    對于Python的GUI開發(fā)來說,Python自帶的可視化編程模塊的功能較弱,PySide是跨平臺(tái)應(yīng)用程序框架Qt的Python綁定,Qt是跨平臺(tái)C++圖形可視化界面應(yīng)用開發(fā)框架,自推出以來深受業(yè)界盛贊。PySide由Qt公司自己維護(hù),允許用戶在Python環(huán)境下利用Qt開發(fā)大型復(fù)雜GUI。用Python簡潔的語法調(diào)用

    2024年02月07日
    瀏覽(20)
  • Python Qt PySide6簡介

    自今天起開學(xué)學(xué)習(xí)教程,有網(wǎng)頁介紹,有視頻,非常的詳細(xì)。 現(xiàn)將主要內(nèi)容摘錄如下: (結(jié)合自己的實(shí)際情況,略有增刪和變動(dòng))(采用邊實(shí)踐邊寫的模式) 如果用? Python ?語言開發(fā)? 跨平臺(tái) ?的圖形界面的程序,主要有3種選擇: Tkinter 基于Tk的Python庫,這是Python官方采用

    2024年02月14日
    瀏覽(29)
  • PyCharm下安裝配置PySide6開發(fā)環(huán)境

    PyCharm下安裝配置PySide6開發(fā)環(huán)境(Qt Designer、PyUIC和PyRCC) QtDesigner官網(wǎng)地址:https://build-system.fman.io/qt-designer-download pip install PySide6 配置Qt Designer 運(yùn)行 Pycharm,Settings–Tools–External Tools 點(diǎn)擊 +,添加 QtDesigner 添加 QtDesigner 名稱:QtDesigner (新建) 程序:Pyside6-Designer的安裝路徑。W:

    2024年02月13日
    瀏覽(19)
  • Pyside6在Pycharm下安裝和使用

    Pyside6在Pycharm下安裝和使用

    目錄 一:安裝 二:使用 一:安裝 打開Pycharm編輯器,file-setting里Python解釋器,點(diǎn)擊小+號,添加模塊,搜索Pyside6,安裝 安裝報(bào)錯(cuò),可能是默認(rèn)的庫安裝超時(shí),用其他的源 pip install Pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安裝成功 二:使用 建立一個(gè)窗口: import sys from PySide6.Q

    2024年01月23日
    瀏覽(31)
  • PySide6 Widgets基本小部件類--QWidget

    沒有父小部件的小部件始終是一個(gè)獨(dú)立的窗口(頂級小部件)。對于這些小部件,setWindowTitle() 和 setWindowIcon() 分別設(shè)置標(biāo)題欄和圖標(biāo)。

    2024年02月04日
    瀏覽(25)
  • 【PySide6】QChart筆記(二)—— QBarSeries的使用

    【PySide6】QChart筆記(二)—— QBarSeries的使用

    https://doc.qt.io/qtforpython-6/PySide6/QtCharts/QBarSeries.html 【譯注:官方文檔內(nèi)容過于簡潔,表明完全僅繼承了QAbstractBarSeries,且沒有擴(kuò)展任何屬性、方法和信號。因此,直接參考QAbstractBarSeries的文檔:】 https://doc.qt.io/qtforpython-6/PySide6/QtCharts/QAbstractBarSeries.html 在條形圖中,條形被定義

    2024年02月05日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包