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

Pyside6 安裝和簡單界面開發(fā)過程詳細(xì)介紹

 更新時間:2023年10月08日 10:05:44   作者:hwx1546  
PySide是跨平臺應(yīng)用程序框架Qt的Python綁定,Qt是跨平臺C++圖形可視化界面應(yīng)用開發(fā)框架,自推出以來深受業(yè)界盛贊,Pyside6是利用Python語言進(jìn)行開發(fā)的GUI,所以在使用Pyside6前要先安裝Python環(huán)境,本文給大家介紹Pyside6 安裝和簡單界面開發(fā)過程,一起看看吧

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

Pyside6介紹

對于Python的GUI開發(fā)來說,Python自帶的可視化編程模塊的功能較弱,PySide是跨平臺應(yīng)用程序框架Qt的Python綁定,Qt是跨平臺C++圖形可視化界面應(yīng)用開發(fā)框架,自推出以來深受業(yè)界盛贊。PySide由Qt公司自己維護(hù),允許用戶在Python環(huán)境下利用Qt開發(fā)大型復(fù)雜GUI。用Python簡潔的語法調(diào)用PySide6的各種可視化控件的類,可以快速搭建用戶的圖形界面,PySide6開發(fā)的GUI程序可以運行在所有主要操作系統(tǒng)上。

Pysied6開發(fā)環(huán)境搭建

Python安裝

Pyside6是利用Python語言進(jìn)行開發(fā)的GUI,所以在使用Pyside6前要先安裝Python環(huán)境??梢缘絇ython的官網(wǎng)https://www.python.org下進(jìn)行下載并安裝。目前最新的Python版本為3.12.0。

安裝好Python開發(fā)環(huán)境后,我們打開Windows的命令行工具,輸入"python",如果可以進(jìn)入Python命令行,則代表Python安裝成功。

Pysied6安裝

Python下的軟件安裝非常簡單,都是輸入pip install xxx就可以安裝所需的軟件。打開命令行工具,輸入以下命令:pip install Pyside6 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com即可安裝Pyside6。Pyside6安裝好之后,可以通過以下命令查看Pyside6的版本號

Pyside6界面開發(fā)

Pyside6的界面設(shè)計有兩種設(shè)計方式,一種是手動設(shè)計,一種是利用Pyside6的designer模式進(jìn)行設(shè)計,為了提高開發(fā)效率,通常都是使用designer模式進(jìn)行開發(fā)。打開命令行工具,輸入pyside6-designer即可打開designer界面。designer設(shè)計界面如下

我們可以選擇文件->新建->選擇"Main Window",創(chuàng)建我們的主窗口

設(shè)計界面可以分為以下幾個區(qū)域

  • 工具欄:包含設(shè)計界面的一些基本操作,比如創(chuàng)建界面、保存界面等。
  • 組件選擇區(qū):包含Pyside6提供的GUI的組件。
  • 工作區(qū):界面的設(shè)計區(qū)域,可以放置控件、調(diào)整窗口等
  • 對象查看區(qū):查看界面里面包含有多少控件,查看控件之間的關(guān)系
  • 屬性設(shè)置區(qū):可以設(shè)置控件的屬性,比如控件的名字,布局位置,大小等。

簡單界面設(shè)計

界面設(shè)計

下面就利用designer模式來設(shè)計一個簡單的界面。首先我們拖拽一個Label控件到主界面

然后雙擊窗口中Label控件,將Label控件的文本修改為"Hello Pyside6"。也可以通過控件的屬性欄進(jìn)行修改。

界面編譯

界面設(shè)計好之后,將界面保存為hello.ui,名字可以自己選擇。如果此時打開hello.ui文件進(jìn)行查看,會發(fā)現(xiàn)designer軟件保存的是XML的代碼,顯然這種代碼是不能被Python識別,所以我們還需要對保存的ui文件進(jìn)行編譯。

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <widget class="QLabel" name="label">
    <property name="geometry">
     <rect>
      <x>340</x>
      <y>260</y>
      <width>101</width>
      <height>16</height>
     </rect>
    </property>
    <property name="text">
     <string>Hello Pyside6</string>
    </property>
   </widget>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>22</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>

在命令行輸入pyside6-uic hello.ui -o hello.py,這句話的意思是將hello.ui文件編譯成hello.py文件。此時再打開hello.py文件進(jìn)行查看,就會發(fā)現(xiàn)ui文件已經(jīng)轉(zhuǎn)化成能被Python識別的文件。

# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'hello.ui'
##
## Created by: Qt User Interface Compiler version 6.4.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
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, QMainWindow, QMenuBar,
    QSizePolicy, QStatusBar, QWidget)
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        if not MainWindow.objectName():
            MainWindow.setObjectName(u"MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QWidget(MainWindow)
        self.centralwidget.setObjectName(u"centralwidget")
        self.label = QLabel(self.centralwidget)
        self.label.setObjectName(u"label")
        self.label.setGeometry(QRect(340, 260, 101, 16))
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QMenuBar(MainWindow)
        self.menubar.setObjectName(u"menubar")
        self.menubar.setGeometry(QRect(0, 0, 800, 22))
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QStatusBar(MainWindow)
        self.statusbar.setObjectName(u"statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.retranslateUi(MainWindow)
        QMetaObject.connectSlotsByName(MainWindow)
    # setupUi
    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
        self.label.setText(QCoreApplication.translate("MainWindow", u"Hello Pyside6", None))
    # retranslateUi

可以看到如果我們不使用designer軟件進(jìn)行界面的設(shè)計,我們就需要自己編寫界面代碼,這樣就降低了開發(fā)效率,使用designer不僅可以加快開發(fā)效率,而且設(shè)計出來的界面也更美觀。

編寫界面初始化代碼

有了上面的界面設(shè)計代碼還不夠,我們還需要編寫界面的初始化代碼,把界面進(jìn)行實例化并顯示。

# Import Qt libraries
from PySide6.QtWidgets import *
from PySide6.QtCore import QFile
# Import UI developed in Qt Creator
from hello import Ui_MainWindow  # 導(dǎo)入界面
# Import PseudoSensor
# Import system tools and datetime
import sys
import statistics
import time
from datetime import datetime
# Create and start the Qt application
class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        # 設(shè)置界面為用戶設(shè)計的界面
        self.ui = Ui_MainWindow() 
        self.ui.setupUi(self) 
    def closeAndExit(self):
        sys.exit()
if __name__ == "__main__":
    app = QApplication(sys.argv) # 初始化QApplication
    # 初始化界面并顯示界面
    window = MainWindow() 
    window.show() 
    sys.exit(app.exec())

將上面的程序保存為mainui.py文件,文件名可以自己選擇,并把文件放到與hello.py相同的目錄下,運行mainui.py文件,就可以將設(shè)計的界面顯示出來。

軟件打包

界面調(diào)試完成后,我們需要對軟件進(jìn)行打包,將軟件打包成exe文件。我們需要在命令行輸入pip install pyinstaller進(jìn)行打包軟件的安裝。安裝完成后輸入pyinstaller.exe -F -w .\mainui.py -i .\pack.ico -n hello.exepyinstaller.exe的參數(shù)如下

  • -F, --onefile 打包一個單個文件,如果你的代碼都寫在了一個py文件的話,可以使用這個命令,如果是多個py文件,就別用;
  • -D, --onedir 打包多個文件,在dist中生成很多依賴文件,適合以框架的形式編寫工具代碼,代碼易于維護(hù);
  • -a, --ascii 不包含unicode編碼的支持(包括默認(rèn)值:如果可用)
  • -c, --console 使用控制臺子系統(tǒng)執(zhí)行(默認(rèn)),只對windows有效
  • -w, --windowed, --noconsole 使用windows子系統(tǒng)執(zhí)行,當(dāng)程序啟動的時候不會打開命令行(只對windows有效)
  • -i , --icon=<File.ico>將file.ico添加為打包的exe文件的圖表,只對windows系統(tǒng)有效
  • –icon=<File.exe,n>將file.exe的第n個圖標(biāo)添加為可執(zhí)行文件的資源,只對windows系統(tǒng)有效
  • -n Name,–name=Name 可選的項目,生成的.spec文件的名字和exe名字
  • -p 設(shè)置導(dǎo)入路徑(和使用PYTHONPATH效果相似),可以使用路徑分隔符(windows使用分好,linux使用冒號),制定多個目錄的時候可以指定多個-p參數(shù)來設(shè)置,讓pyinstaller自己去找程序的資源
  • –key KEY 用于加密Python字節(jié)碼的密鑰
  • –add-data 可以將一些非二進(jìn)制文件添加到exe文件中進(jìn)行打包,參數(shù)為格式為static;static
  • –distpath 指定打包后的程序存放目錄,exe文件默認(rèn)存放在當(dāng)前目錄下的dist目錄中
  • –workpath 為輸出的所有臨時文件指定存放目錄,默認(rèn)為當(dāng)前目錄下的build目錄

在這里插入圖片描述

至此一個簡單的Pyside6界面就設(shè)計完成了。

到此這篇關(guān)于Pyside6 安裝和簡單界面開發(fā)的文章就介紹到這了,更多相關(guān)Pyside6 安裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows安裝pycocotools的問題報錯解決

    Windows安裝pycocotools的問題報錯解決

    最近使用pip install安裝pycocotools出現(xiàn)錯誤,本文主要介紹了Windows安裝pycocotools的問題報錯解決,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • python中的函數(shù)用法入門教程

    python中的函數(shù)用法入門教程

    這篇文章主要介紹了python中的函數(shù)用法,包括了函數(shù)的定義及參數(shù)的各種注意事項等,對Python初學(xué)者有很好的借鑒價值,需要的朋友可以參考下
    2014-09-09
  • 關(guān)于pymysql模塊的使用以及代碼詳解

    關(guān)于pymysql模塊的使用以及代碼詳解

    在本篇文章里小編給大家整理的是關(guān)于關(guān)于pymysql模塊的使用以及代碼詳解,有興趣的朋友們學(xué)習(xí)下。
    2019-09-09
  • Django獲取該數(shù)據(jù)的上一條和下一條方法

    Django獲取該數(shù)據(jù)的上一條和下一條方法

    今天小編就為大家分享一篇Django獲取該數(shù)據(jù)的上一條和下一條方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python2及Python3如何實現(xiàn)兼容切換

    Python2及Python3如何實現(xiàn)兼容切換

    這篇文章主要介紹了Python2及Python3如何實現(xiàn)兼容切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Django學(xué)習(xí)之文件上傳與下載

    Django學(xué)習(xí)之文件上傳與下載

    這篇文章主要為大家詳細(xì)介紹了Django學(xué)習(xí)之文件上傳與下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python存儲讀取HDF5文件代碼解析

    Python存儲讀取HDF5文件代碼解析

    這篇文章主要介紹了Python存儲讀取HDF5文件代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • python圖像處理模塊Pillow的學(xué)習(xí)詳解

    python圖像處理模塊Pillow的學(xué)習(xí)詳解

    這篇文章主要介紹了python圖像處理模塊Pillow的學(xué)習(xí)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python 自動化將markdown文件轉(zhuǎn)成html文件的方法

    python 自動化將markdown文件轉(zhuǎn)成html文件的方法

    這篇文章主要介紹了python 自動化將markdown文件轉(zhuǎn)成html文件的方法的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • python用分?jǐn)?shù)表示矩陣的方法實例

    python用分?jǐn)?shù)表示矩陣的方法實例

    這篇文章主要給大家介紹了關(guān)于python如何利用分?jǐn)?shù)表示矩陣的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評論