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

PySide6:Qt Designer UI文件的兩種使用方式

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

前言

通過Qt Designer(PyQt6與PySide6對應(yīng)的Designer設(shè)計(jì)的界面生成的UI文件有區(qū)別)設(shè)計(jì)的界面會生成對應(yīng)的UI文件,一般會使用PyUIC工具將UI文件轉(zhuǎn)換為對應(yīng)的Py文件來使用,后面每次界面發(fā)生更新時都要重新轉(zhuǎn)換一次,比較麻煩;另外,如果直接在UI文件中添加自己的代碼,如信號與槽等動作的設(shè)計(jì),當(dāng)UI有更新時都會覆蓋自己添加的代碼,顯然不合理,目前發(fā)現(xiàn)有兩種方式可以避免上面的問題,第一種,繼承UI文件中的類,自己的代碼添加在繼承類中;第二種,在自己的類中加載UI文件,不需要轉(zhuǎn)換UI文件。兩種方式各有利弊,下面詳細(xì)看一下設(shè)計(jì)過程,首先簡單定義一下生成的UI設(shè)計(jì)文件,設(shè)計(jì)的UI文件為main.ui,轉(zhuǎn)換以后的Python文件為main.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, QPushButton, QSizePolicy, QWidget)

class Ui_widget(object):
    def setupUi(self, widget):
        if not widget.objectName():
            widget.setObjectName(u"widget")
        widget.resize(640, 480)
        self.btn = QPushButton(widget)
        self.btn.setObjectName(u"btn")
        self.btn.setGeometry(QRect(0, 0, 75, 24))

        self.retranslateUi(widget)

        QMetaObject.connectSlotsByName(widget)
    # setupUi

    def retranslateUi(self, widget):
        widget.setWindowTitle(QCoreApplication.translate("widget", u"Form", None))
        self.btn.setText(QCoreApplication.translate("widget", u"Btn", None))
    # retranslateUi

類繼承方式

import sys
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication, QMainWindow
from main import Ui_widget


class Main(Ui_widget):
    def __init__(self, widget):
        super().setupUi(widget)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setWindowIcon(QIcon("icon.ico"))
    widget = QMainWindow()

    window = Main(widget)
    widget.show()
    sys.exit(app.exec())

上面繼承類中的super().setupUI(widget)是關(guān)鍵,通過調(diào)用父類的窗口初始化函數(shù),把父類中的組件繼承到當(dāng)前類

加載UI文件的方式

import sys
from PySide6.QtCore import QObject, QFile
from PySide6.QtUiTools import QUiLoader
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QApplication


class Main(QObject):
    def __init__(self):
        QObject.__init__(self)

        # 加載UI文件
        qfile = QFile('main.ui')
        qfile.open(QFile.ReadOnly)
        qfile.close()
        self.ui = QUiLoader().load(qfile)

        # 調(diào)用界面類中的組件
        self.ui.btn.setText('New name')

if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setWindowIcon(QIcon("icon.ico"))

    window = Main()
    window.ui.show()
    sys.exit(app.exec())

總結(jié)

兩種方式都實(shí)現(xiàn)了界面文件和自己代碼的整合,但是有以下幾點(diǎn)區(qū)別,個人更偏向于類繼承的方式,從代碼設(shè)計(jì)的邏輯性來說更合理。
1、類繼承方式當(dāng)界面發(fā)生變化時需要重新轉(zhuǎn)換生成對應(yīng)的Python文件,加載UI文件的方式不需要轉(zhuǎn)換即可使用;
2、易用性方面,類繼承方面因?yàn)槭抢^承,在IDE中可以對設(shè)計(jì)文件中的組件進(jìn)行代碼提示,加載UI文件的方式因?yàn)槭前呀缑骖惓跏蓟闪俗杂蓄惖囊粋€屬性對象,調(diào)用界面類中組件時不會有提示,且調(diào)用方式跟繼承類方式相比會有區(qū)別。文章來源地址http://www.zghlxwxcb.cn/news/detail-510299.html

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

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(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)文章

  • 使用Qt Designer為您的Qt for Python項(xiàng)目創(chuàng)建基于Qt Widgets的圖形界面的兩種方法

    使用Qt Designer為您的Qt for Python項(xiàng)目創(chuàng)建基于Qt Widgets的圖形界面的兩種方法

    本頁介紹如何使用Qt Designer為您的Qt for Python項(xiàng)目創(chuàng)建基于Qt Widgets的圖形界面。Qt Designer是一個圖形UI設(shè)計(jì)工具,可以作為獨(dú)立的二進(jìn)制文件(pyside6-designer)提供,也可以嵌入到Qt Creator IDE中。它在Qt Creator中的使用在Using Qt Designer中描述。 設(shè)計(jì)存儲在.ui文件中,這是一種基于

    2024年02月07日
    瀏覽(28)
  • Python使用Pyside2和Qt Designer實(shí)現(xiàn)接口數(shù)據(jù)查詢mainwindow-tablewidget和EXCEL導(dǎo)出功能,并生成EXE可執(zhí)行文件直接調(diào)用.ui文件和生成py調(diào)用都有-初學(xué)

    Python使用Pyside2和Qt Designer實(shí)現(xiàn)接口數(shù)據(jù)查詢mainwindow-tablewidget和EXCEL導(dǎo)出功能,并生成EXE可執(zhí)行文件直接調(diào)用.ui文件和生成py調(diào)用都有-初學(xué)

    通過Pyside2庫調(diào)用QT Designer的UI文件,直接調(diào)用.ui文件和將.ui文件轉(zhuǎn)換為.pt文件進(jìn)行調(diào)用,調(diào)用測試成功生成exe文件 可以直接在終端調(diào)用 參考:https://blog.csdn.net/qq_44940689/article/details/123913832 直接在終端中運(yùn)行 -F 只會生成單獨(dú)的一個exe文件 -w 是雙擊exe不會打開黑色窗口,可以試

    2024年02月04日
    瀏覽(26)
  • Pyside6(3): 自動生成UI的Qt參數(shù)輸入對話框

    Pyside6(3): 自動生成UI的Qt參數(shù)輸入對話框

    參數(shù)輸入界面是桌面軟件開發(fā)最繁瑣的部分之一。特別是當(dāng)系統(tǒng)中存在多種可編輯的數(shù)值模型時,由于各個模型的字段不同,每個字段的輸入類型也不同,需要制作不同的UI,使用不同的UI控件,無疑會耗費(fèi)大量時間,同時拓展性也非常差,因?yàn)槊吭黾右粋€數(shù)值模型,都需要制

    2024年02月03日
    瀏覽(22)
  • PySide6 將.ui文件編譯為.py文件

    PySide6 將.ui文件編譯為.py文件

    1. 制作UI 平時使用QT creator設(shè)計(jì)器設(shè)計(jì)UI,然后可將其轉(zhuǎn)化成 .py 文件,以供 .py 腳本使用。 2.Pyside6 轉(zhuǎn)換ui為 .py 文件 pyside6使用過程: 生成的py文件: 3. .py 文件國際化 通過pyside6-uic生成的 .py 代碼中,中文或文本將使用unicode表示,即:“機(jī)器人設(shè)置”(u\\\"u673au5668u4ebau8bbeu

    2024年02月12日
    瀏覽(37)
  • Pyside6實(shí)現(xiàn)自定義widget嵌套(自定義widget為獨(dú)立ui文件)

    Pyside6實(shí)現(xiàn)自定義widget嵌套(自定義widget為獨(dú)立ui文件)

    在實(shí)際項(xiàng)目開發(fā)中,可能存在需要將自定義的widget嵌入到某一窗口的情況,或者為維護(hù)簡潔方便,將一個大的UI文件拆分為多個獨(dú)立的UI文件進(jìn)行管理。這時就存在不同窗口的ui文件進(jìn)行嵌套。 以widget控件為例,對實(shí)現(xiàn)過程進(jìn)行記錄,類間關(guān)系如下: 主窗口為自己編寫的Main

    2024年02月08日
    瀏覽(35)
  • QT Designer 生成的ui文件轉(zhuǎn)化成py文件以及簡單使用

    首先用QTdesigner 設(shè)計(jì)你的界面 然后保存成.ui文件 這一步大家應(yīng)該都可以做到,就不細(xì)講了 然后就是轉(zhuǎn)換步驟 使用cmd進(jìn)入ui所在目錄 或者在pycharm項(xiàng)目里的終端進(jìn)入ui所在目錄 然后輸入下列語句 這里的outputUI就可以替換成你想要的輸出文件名 InputUI就是你想要轉(zhuǎn)換的ui文件名 稍

    2023年04月08日
    瀏覽(22)
  • 使用Python和Qt6(PySide6)創(chuàng)建GUI應(yīng)用1簡介

    使用Python和Qt6(PySide6)創(chuàng)建GUI應(yīng)用1簡介

    在本書從GUI開發(fā)的基本原理逐步過渡到使用PySide6創(chuàng)建您自己的、功能齊全的桌面應(yīng)用程序。 圖形用戶界面(GUI Graphical User Interface) 歷史悠久,可追溯到20世紀(jì)60年代。斯坦福大學(xué)的NLS(ON-Line 系統(tǒng)引入了鼠標(biāo)和窗口概念,并于1968年首次公開展示。隨后,施樂公司于1973年推出

    2024年02月04日
    瀏覽(25)
  • PyQt6 使用Qt Designer實(shí)現(xiàn)簡單的界面,以及ui文件轉(zhuǎn)py文件

    PyQt6 使用Qt Designer實(shí)現(xiàn)簡單的界面,以及ui文件轉(zhuǎn)py文件

    前言,主要通過參考并總結(jié)兩篇文章中的部分內(nèi)容,參考文章一 參考文章二 新增一個用戶注冊界面,包含用戶名,密碼,性別,手機(jī)號,點(diǎn)擊注冊按鈕時,彈出一個對話框,提示恭喜 “{用戶輸入的用戶名}” 注冊成功。但是無奈還沒找出獲取最新輸入用戶名的值,就簡單做

    2024年02月04日
    瀏覽(25)
  • 【Qt】使用Qt designer(Qt設(shè)計(jì)師)以及uic工具將ui文件轉(zhuǎn)換到C++代碼進(jìn)行界面開發(fā)

    【Qt】使用Qt designer(Qt設(shè)計(jì)師)以及uic工具將ui文件轉(zhuǎn)換到C++代碼進(jìn)行界面開發(fā)

    【Qt】編寫第一個Qt程序,使用Cmake編譯并運(yùn)行 Qt Designer是一個用于創(chuàng)建Qt應(yīng)用程序用戶界面的圖形化界面設(shè)計(jì)器。它是Python GUI開發(fā)的一個重要工具,可以幫助用戶快速創(chuàng)建具有豐富功能的用戶界面。 打開終端輸入以下代碼 點(diǎn)擊創(chuàng)建 拖一些組件進(jìn)來,點(diǎn)擊保存 得到一個后綴為

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

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

    2024年02月03日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包