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

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

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

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

Pyside6介紹

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

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

Python安裝

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

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

Pysied6安裝

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

Pyside6界面開發(fā)

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

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

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

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

簡(jiǎn)單界面設(shè)計(jì)

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

下面就利用designer模式來(lái)設(shè)計(jì)一個(gè)簡(jiǎn)單的界面。首先我們拖拽一個(gè)Label控件到主界面

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

界面編譯

界面設(shè)計(jì)好之后,將界面保存為hello.ui,名字可以自己選擇。如果此時(shí)打開hello.ui文件進(jìn)行查看,會(huì)發(fā)現(xiàn)designer軟件保存的是XML的代碼,顯然這種代碼是不能被Python識(shí)別,所以我們還需要對(duì)保存的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文件。此時(shí)再打開hello.py文件進(jìn)行查看,就會(huì)發(fā)現(xiàn)ui文件已經(jīng)轉(zhuǎn)化成能被Python識(shí)別的文件。

# -*- 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è)計(jì),我們就需要自己編寫界面代碼,這樣就降低了開發(fā)效率,使用designer不僅可以加快開發(fā)效率,而且設(shè)計(jì)出來(lái)的界面也更美觀。

編寫界面初始化代碼

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

# 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è)計(jì)的界面
        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相同的目錄下,運(yùn)行mainui.py文件,就可以將設(shè)計(jì)的界面顯示出來(lái)。

軟件打包

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

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

在這里插入圖片描述

至此一個(gè)簡(jiǎn)單的Pyside6界面就設(shè)計(jì)完成了。

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

相關(guān)文章

  • Python3.5 處理文本txt,刪除不需要的行方法

    Python3.5 處理文本txt,刪除不需要的行方法

    今天小編就為大家分享一篇Python3.5 處理文本txt,刪除不需要的行方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Python的PIL庫(kù)中g(shù)etpixel方法的使用

    Python的PIL庫(kù)中g(shù)etpixel方法的使用

    這篇文章主要介紹了Python的PIL庫(kù)中g(shù)etpixel方法的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python logging簡(jiǎn)介詳解

    Python logging簡(jiǎn)介詳解

    這篇文章主要介紹了Python日志模塊logging簡(jiǎn)介,本文講解了Logger、Handler、Formatter、日志配置管理、通過(guò)文件配置管理日志等內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • python中將字典形式的數(shù)據(jù)循環(huán)插入Excel

    python中將字典形式的數(shù)據(jù)循環(huán)插入Excel

    這篇文章主要介紹了python中將字典形式的數(shù)據(jù)循環(huán)插入Excel的方法,需要的朋友可以參考下
    2018-01-01
  • anaconda安裝后打不開解決方式(親測(cè)有效)

    anaconda安裝后打不開解決方式(親測(cè)有效)

    Anaconda是一個(gè)和Canopy類似的科學(xué)計(jì)算環(huán)境,但用起來(lái)更加方便,下面這篇文章主要給大家介紹了關(guān)于anaconda安裝后打不開解決的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 詳解Django的CSRF認(rèn)證實(shí)現(xiàn)

    詳解Django的CSRF認(rèn)證實(shí)現(xiàn)

    這篇文章主要介紹了詳解Django的CSRF認(rèn)證實(shí)現(xiàn),詳細(xì)的介紹了csrf原理和實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python中的取模運(yùn)算方法

    Python中的取模運(yùn)算方法

    今天小編就為大家分享一篇Python中的取模運(yùn)算方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Python實(shí)現(xiàn)批量自動(dòng)整理文件

    Python實(shí)現(xiàn)批量自動(dòng)整理文件

    本文將利用Python制作一個(gè)批量自動(dòng)整理文件的小工具,可以自定義整理某一個(gè)路徑下面的所有需要被整理的文件。感興趣的小伙伴可以了解一下
    2022-03-03
  • python+matplotlib實(shí)現(xiàn)鼠標(biāo)移動(dòng)三角形高亮及索引顯示

    python+matplotlib實(shí)現(xiàn)鼠標(biāo)移動(dòng)三角形高亮及索引顯示

    這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)鼠標(biāo)移動(dòng)三角形高亮及索引顯示,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng)

    Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng)

    這篇文章主要介紹了Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論