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

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

這篇具有很好參考價(jià)值的文章主要介紹了Python使用Pyside2和Qt Designer實(shí)現(xiàn)接口數(shù)據(jù)查詢mainwindow-tablewidget和EXCEL導(dǎo)出功能,并生成EXE可執(zhí)行文件直接調(diào)用.ui文件和生成py調(diào)用都有-初學(xué)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Python使用Pyside2和Qt Designer實(shí)現(xiàn)接口數(shù)據(jù)查詢并生成EXE可執(zhí)行文件(直接調(diào)用.ui文件和生成py調(diào)用都有)

通過(guò)Pyside2庫(kù)調(diào)用QT Designer的UI文件,直接調(diào)用.ui文件和將.ui文件轉(zhuǎn)換為.pt文件進(jìn)行調(diào)用,調(diào)用測(cè)試成功生成exe文件



完成后的界面

python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用


一、調(diào)用ui文件版本

# coding=utf-8

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit, QMessageBox, QTableWidgetItem
from PySide2.QtGui import QIcon
from PySide2.QtUiTools import QUiLoader
import traceback
import requests
import os
import openpyxl
import json
from Tools.scripts.dutree import display



class Data():
    def __init__(self):
        super().__init__()
        self.ui = QUiLoader().load('ui.ui')

        # 讓 表格控件寬度隨著父窗口的縮放自動(dòng)縮放
        self.ui.tableWidget.horizontalHeader().setStretchLastSection(True)
        # 設(shè)定第1列的寬度為 180像素
        self.ui.tableWidget.setColumnWidth(0, 180)

        # cx_Oracle.init_oracle_client(lib_dir=r'C:\Python310')
        os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
        # 查詢數(shù)據(jù)
        self.ui.select_button.clicked.connect(self.selectable)
        # 導(dǎo)出excel
        self.ui.export_button.clicked.connect(self.exportexcel)  # 導(dǎo)出excel

    # 獲取數(shù)據(jù)
    def getdata(self):
        try:
            info = self.ui.cust_po_textbox.toPlainText()
            print(f"獲取信息:{info}")
            if len(info) != 0:

                url = 'http://api.xxx.com/user/v1.0/account/token' # 獲取Token的接口地址
                body = {
                    "account": "接口賬號(hào)",
                    "password": "接口密碼"
                }
                headers = {'content-type': "application/json"}

                response = requests.post(url, data=json.dumps(body), headers=headers)

                print(response.json())
                json_data = response.json()['data']
                # 獲取result
                json_result = json_data['token'] # 拿到Token
                print(json_result)

                url = 'http://api-xxx.com/views/table' # 獲取數(shù)據(jù)的接口地址

                po_list = []
                for cust_po in info.splitlines():
                    if not cust_po.strip():
                        continue
                    cust_po = cust_po.strip()
                    po_list.append(cust_po)

                print(f"{po_list}")

                if len(po_list) == 0:
                    po_list = "''"
                body = {
                    "cust_po_number": po_list
                }

                headers = {'content-type': "application/json",
                           'Authorization': 'Bearer ' + json_result}

                response = requests.post(url, data=json.dumps(body), headers=headers)

                print(response.json())

                json_data = response.json()['data']

                if len(json_data) == 0:
                    QMessageBox.about(self.ui, "提示", '未查詢到數(shù)據(jù)!')
                    return json_data
                else:
                    return json_data

            else:
                print("請(qǐng)輸入合同號(hào)!")
                QMessageBox.about(self.ui, "錯(cuò)誤", '請(qǐng)輸入合同號(hào)!')

        except Exception as result:
            print(f'ERROR:{result}')
            QMessageBox.about(self.ui, "錯(cuò)誤", str(result))

    # 導(dǎo)出excel
    def exportexcel(self):
        try:
            json_data = self.getdata()
            if json_data is not None:
                # workbook = openpyxl.load_workbook('try.xlsx', data_only=False)
                wb = openpyxl.Workbook()  # 新建工作簿
                ws = wb.active  # 獲取工作表
                ws.append(['合同號(hào)', '關(guān)單時(shí)間'])  # 追加一行數(shù)據(jù)
                for a in json_data:
                    ws.append([a['合同號(hào)'], a['LAST_UPDATE_DATE']])  # 追加一行數(shù)據(jù)
                wb.save(r'文件名.xlsx')  # 保存到指定路徑,保存的文件必須不能處于打開狀態(tài),因?yàn)槲募蜷_后文件只讀
                # ws.append(['張三', "1101", 17])  # 追加一行數(shù)據(jù)

            # wb.save(r'測(cè)試1018.xlsx')  # 保存到指定路徑,保存的文件必須不能處于打開狀態(tài),因?yàn)槲募蜷_后文件只讀
        except Exception as result:
            print(f'ERROR:{result}')
            QMessageBox.about(self.ui, "錯(cuò)誤", str(result))

    # 在table-widget中展示出來(lái)
    def selectable(self):
        try:
            json_data = self.getdata()
            if json_data is not None:
                self.ui.tableWidget.setRowCount(len(json_data))
                self.ui.tableWidget.setColumnCount(2)
                self.ui.tableWidget.setHorizontalHeaderLabels(['合同號(hào)', '關(guān)單時(shí)間'])
                f = 0
                if len(json_data) == 0:
                    pass  # QMessageBox.about(self.ui, "提示", '未查詢到數(shù)據(jù)!')
                else:
                    for a in json_data:
                        # 要插入的行始終是當(dāng)前行 的下一行
                        self.ui.tableWidget.setItem(f, 0, QTableWidgetItem(str(a['合同號(hào)'])))
                        self.ui.tableWidget.setItem(f, 1, QTableWidgetItem(str(a['LAST_UPDATE_DATE'])))
                        f += 1
                        print(str(a['合同號(hào)']) + '   ' + str(a['LAST_UPDATE_DATE']))

        except Exception as result:
            print(f'ERROR:{result}')
            QMessageBox.about(self.ui, "錯(cuò)誤", str(result))

if __name__ == '__main__':
    app = QApplication([])
    gui = Data()
    gui.show()
    app.exec_()

二、將ui文件轉(zhuǎn)為py文件進(jìn)行調(diào)用

1.使用 qt designer將ui文件轉(zhuǎn)為py文件

python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用

2.或者可以通過(guò)python命令進(jìn)行轉(zhuǎn)換(個(gè)人建議在qt designer中直接轉(zhuǎn)換復(fù)制)

pyside2-uic dmeo/demo.ui > demo/Ui_Loader.py

可以直接在終端調(diào)用
參考:https://blog.csdn.net/qq_44940689/article/details/123913832

3.轉(zhuǎn)換完成直接貼進(jìn)主程序:

# coding=utf-8
from PySide2.QtCore import *
from PySide2.QtWidgets import *
import requests
import os
import json
from ui import Ui_MainWindow
from PySide2.QtWidgets import QApplication, QMainWindow
import openpyxl



# class LoginGui(object):
#     def __init__(self):
#         self = QUiLoader().load('./demo/demo')

class Data(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(Data, self).__init__()  # 調(diào)用父類的初始化方法
        self.setupUi(self)  # 調(diào)用Ui_MainWindow的setupUi方法布置界面
        # 讓 表格控件寬度隨著父窗口的縮放自動(dòng)縮放
        self.tableWidget.horizontalHeader().setStretchLastSection(True)
        # 設(shè)定第1列的寬度為 180像素
        self.tableWidget.setColumnWidth(0, 180)

        # cx_Oracle.init_oracle_client(lib_dir=r'C:\Python310')
        os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
        # 查詢數(shù)據(jù)
        self.select_button.clicked.connect(self.selectable)
        # 導(dǎo)出excel
        self.export_button.clicked.connect(self.exportexcel)  # 導(dǎo)出excel

    # 獲取數(shù)據(jù)
    def getdata(self):
        try:
            info = self.cust_po_textbox.toPlainText()
            print(f"獲取信息:{info}")
            if len(info) != 0:

                url = 'http://api.xxx.com/user/v1.0/account/token'
                body = {
                    "account": "TOKEN賬號(hào)",
                    "password": "TOKEN密碼"
                }
                headers = {'content-type': "application/json"}

                response = requests.post(url, data=json.dumps(body), headers=headers)

                print(response.json())
                json_data = response.json()['data']
                # 獲取result
                json_result = json_data['token']
                print(json_result)

                url = 'http://api-xxx.com/views/table'

                po_list = []
                for cust_po in info.splitlines():
                    if not cust_po.strip():
                        continue
                    cust_po = cust_po.strip()
                    po_list.append(cust_po)

                print(f"{po_list}")

                if len(po_list) == 0:
                    po_list = "''"
                body = {
                    "cust_po_number": po_list
                }

                headers = {'content-type': "application/json",
                           'Authorization': 'Bearer ' + json_result}

                response = requests.post(url, data=json.dumps(body), headers=headers)

                print(response.json())

                json_data = response.json()['data']

                if len(json_data) == 0:
                    QMessageBox.about(self, "提示", '未查詢到數(shù)據(jù)!')
                    return json_data
                else:
                    return json_data

            else:
                print("請(qǐng)輸入合同號(hào)!")
                QMessageBox.about(self, "錯(cuò)誤", '請(qǐng)輸入合同號(hào)!')

        except Exception as result:
            print(f'ERROR:{result}')
            QMessageBox.about(self, "錯(cuò)誤", str(result))

    # 導(dǎo)出excel
    def exportexcel(self):
        try:
            json_data = self.getdata()
            if json_data is not None:
                # workbook = openpyxl.load_workbook('try.xlsx', data_only=False)
                wb = openpyxl.Workbook()  # 新建工作簿
                ws = wb.active  # 獲取工作表
                ws.append(['合同號(hào)', '關(guān)單時(shí)間'])  # 追加一行數(shù)據(jù)
                for a in json_data:
                    ws.append([a['合同號(hào)'], a['LAST_UPDATE_DATE']])  # 追加一行數(shù)據(jù)
                wb.save(r'關(guān)單數(shù)據(jù).xlsx')  # 保存到指定路徑,保存的文件必須不能處于打開狀態(tài),因?yàn)槲募蜷_后文件只讀
                # ws.append(['張三', "1101", 17])  # 追加一行數(shù)據(jù)

            # wb.save(r'測(cè)試1018.xlsx')  # 保存到指定路徑,保存的文件必須不能處于打開狀態(tài),因?yàn)槲募蜷_后文件只讀
        except Exception as result:
            print(f'ERROR:{result}')
            QMessageBox.about(self, "錯(cuò)誤", str(result))

    # 在table-widget中展示出來(lái)
    def selectable(self):
        try:
            json_data = self.getdata()
            if json_data is not None:
                self.tableWidget.setRowCount(len(json_data))
                self.tableWidget.setColumnCount(2)
                self.tableWidget.setHorizontalHeaderLabels(['合同號(hào)', '關(guān)單時(shí)間'])
                f = 0
                if len(json_data) == 0:
                    pass  # QMessageBox.about(self, "提示", '未查詢到數(shù)據(jù)!')
                else:
                    for a in json_data:
                        # 要插入的行始終是當(dāng)前行 的下一行
                        self.tableWidget.setItem(f, 0, QTableWidgetItem(str(a['合同號(hào)'])))
                        self.tableWidget.setItem(f, 1, QTableWidgetItem(str(a['LAST_UPDATE_DATE'])))
                        f += 1
                        print(str(a['合同號(hào)']) + '   ' + str(a['LAST_UPDATE_DATE']))

        except Exception as result:
            print(f'ERROR:{result}')
            QMessageBox.about(self, "錯(cuò)誤", str(result))

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        if not MainWindow.objectName():
            MainWindow.setObjectName(u"MainWindow")
        MainWindow.resize(785, 345)
        self.centralwidget = QWidget(MainWindow)
        self.centralwidget.setObjectName(u"centralwidget")
        self.horizontalLayout_3 = QHBoxLayout(self.centralwidget)
        self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
        self.groupBox = QGroupBox(self.centralwidget)
        self.groupBox.setObjectName(u"groupBox")
        self.horizontalLayout_2 = QHBoxLayout(self.groupBox)
        self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName(u"horizontalLayout")
        self.cust_po_textbox = QTextEdit(self.groupBox)
        self.cust_po_textbox.setObjectName(u"cust_po_textbox")

        self.horizontalLayout.addWidget(self.cust_po_textbox)

        self.verticalLayout = QVBoxLayout()
        self.verticalLayout.setObjectName(u"verticalLayout")
        self.select_button = QPushButton(self.groupBox)
        self.select_button.setObjectName(u"select_button")

        self.verticalLayout.addWidget(self.select_button)

        self.export_button = QPushButton(self.groupBox)
        self.export_button.setObjectName(u"export_button")

        self.verticalLayout.addWidget(self.export_button)


        self.horizontalLayout.addLayout(self.verticalLayout)

        self.tableWidget = QTableWidget(self.groupBox)
        if (self.tableWidget.columnCount() < 2):
            self.tableWidget.setColumnCount(2)
        __qtablewidgetitem = QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem)
        __qtablewidgetitem1 = QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(1, __qtablewidgetitem1)

        self.tableWidget.setObjectName(u"tableWidget")
        self.tableWidget.setSortingEnabled(True)

        self.horizontalLayout.addWidget(self.tableWidget)


        self.horizontalLayout_2.addLayout(self.horizontalLayout)


        self.horizontalLayout_3.addWidget(self.groupBox)

        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QMenuBar(MainWindow)
        self.menubar.setObjectName(u"menubar")
        self.menubar.setGeometry(QRect(0, 0, 785, 23))
        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.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"\u5173\u5355\u6570\u636e\u67e5\u8be2", None))
        self.select_button.setText(QCoreApplication.translate("MainWindow", u"\u67e5\u8be2", None))
        self.export_button.setText(QCoreApplication.translate("MainWindow", u"\u5bfc\u51faexcel", None))
        ___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(0)
        ___qtablewidgetitem.setText(QCoreApplication.translate("MainWindow", u"\u5408\u540c\u53f7", None));
        ___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(1)
        ___qtablewidgetitem1.setText(QCoreApplication.translate("MainWindow", u"\u5173\u5355\u65e5\u671f", None));
    # retranslateUi

if __name__ == '__main__':
    app = QApplication([])
    gui = Data()
    gui.show()
    app.exec_()


三、將python文件生成EXE

直接在終端中運(yùn)行

pyinstaller.exe -F -w D:\main.py --hidden-import 'pandas','requests','openpyxl'

-F 只會(huì)生成單獨(dú)的一個(gè)exe文件
-w 是雙擊exe不會(huì)打開黑色窗口,可以試試

pyinstaller -F -w (-i icofile) 文件名.py

復(fù)制的其他大佬的圖片,-i可以給exe文件直接設(shè)置圖標(biāo)
python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用

執(zhí)行成功后得到下圖這三個(gè)文件,exe文件在dist文件夾中,exe可以單獨(dú)拿出來(lái)執(zhí)行
python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用
python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用
雙擊執(zhí)行
python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用

生成后運(yùn)行遇到很多奇怪的問(wèn)題…忘記記錄了…搞了我好幾天搞醉了,第一次搞沒啥經(jīng)驗(yàn),到處查問(wèn)題
python 調(diào)用ui文件,python,excel,pyside2,exe,qt designer,json,接口調(diào)用文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-757363.html


到了這里,關(guān)于Python使用Pyside2和Qt Designer實(shí)現(xiàn)接口數(shù)據(jù)查詢mainwindow-tablewidget和EXCEL導(dǎo)出功能,并生成EXE可執(zhí)行文件直接調(diào)用.ui文件和生成py調(diào)用都有-初學(xué)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

    通過(guò)Qt Designer(PyQt6與PySide6對(duì)應(yīng)的Designer設(shè)計(jì)的界面生成的UI文件有區(qū)別)設(shè)計(jì)的界面會(huì)生成對(duì)應(yīng)的UI文件,一般會(huì)使用PyUIC工具將UI文件轉(zhuǎn)換為對(duì)應(yīng)的Py文件來(lái)使用,后面每次界面發(fā)生更新時(shí)都要重新轉(zhuǎn)換一次,比較麻煩;另外,如果直接在UI文件中添加自己的代碼,如信號(hào)與槽

    2024年02月11日
    瀏覽(26)
  • Unreal中使用Pyside2報(bào)錯(cuò):ModuleNotFoundError: No module named ‘PySide2‘

    Unreal中使用Pyside2報(bào)錯(cuò):ModuleNotFoundError: No module named ‘PySide2‘

    在Unreal中使用QT界面的時(shí)候出現(xiàn) ModuleNotFoundError: No module named \\\'PySide2\\\' 的報(bào)錯(cuò)。具體表現(xiàn)如下圖: 原因:unreal python讀取不到Pyside2的路徑。 解決辦法:使用sys添加pyside2所在的site-packages目錄

    2024年02月15日
    瀏覽(20)
  • PyCharm下安裝配置PySide6開發(fā)環(huán)境(Qt Designer、PyUIC和PyRCC)

    PyCharm下安裝配置PySide6開發(fā)環(huán)境(Qt Designer、PyUIC和PyRCC)

    本篇我們來(lái)介紹一下在PyCharm中如何安裝和配置PySide6的開發(fā)運(yùn)行環(huán)境。 開發(fā)PySide6項(xiàng)目,我們可以使用Qt Designer、PyUIC和PyRCC這些好用的外部工具。 Qt Designer是啥東西?簡(jiǎn)單的來(lái)說(shuō)就是設(shè)計(jì)Qt界面的輔助開發(fā)工具,可以像開發(fā)VB那樣通過(guò)拖拽的方式進(jìn)行所見即所得的可視化開發(fā)G

    2023年04月08日
    瀏覽(22)
  • 02、Pycharm中配置PyQt/PySide開發(fā)工具Qt Designer、PyUIC、PyRcc(詳細(xì))

    02、Pycharm中配置PyQt/PySide開發(fā)工具Qt Designer、PyUIC、PyRcc(詳細(xì))

    上一篇文章: 01、Pyqt/PySide6簡(jiǎn)介及安裝方法 PySide6、PyQt5 都是基于Qt 庫(kù)。Qt庫(kù)里面有非常強(qiáng)大的圖形界面開發(fā)庫(kù),但是Qt庫(kù)是C++語(yǔ)言開發(fā)的,PySide2、PySide6、PyQt5可以讓我們通過(guò)Python語(yǔ)言使用Qt https://blog.csdn.net/python_sy/article/details/127425142 目錄 前言 一、Qt Designer、PyUic、PyRcc是什么

    2023年04月14日
    瀏覽(29)
  • PyCharm下安裝配置PySide6開發(fā)環(huán)境(Qt Designer(打開,編輯)、PyUIC和PyRCC)

    PyCharm下安裝配置PySide6開發(fā)環(huán)境(Qt Designer(打開,編輯)、PyUIC和PyRCC)

    python安裝路徑 ?pycharm安裝路徑: python系統(tǒng)變量: pycharm環(huán)境變量: ? 注意:正常安裝,并勾選ADD PATH一般會(huì)自動(dòng)配好 用pycharm開發(fā)python項(xiàng)目時(shí),使用虛擬環(huán)境的好處是: 可以為不同的項(xiàng)目創(chuàng)建不同的python環(huán)境,避免了依賴包和版本的沖突。 可以為同一個(gè)項(xiàng)目的不同環(huán)境(如

    2024年02月11日
    瀏覽(26)
  • pycharm下載pyside2出現(xiàn)ERROR: Could not find a version that satisfies the requirement pyside2

    pycharm下載pyside2出現(xiàn)ERROR: Could not find a version that satisfies the requirement pyside2

    ? ? ? ?當(dāng)我們?cè)趐ycharm中嘗試用pip下載pyside2的時(shí)候,可能會(huì)出現(xiàn)上面的報(bào)錯(cuò)。出現(xiàn)這種情況的 原因 就是當(dāng)前下載的python解釋器版本太新了,比如我用的3.11的版本,可能這個(gè)版本還沒有更新匹配pyside2庫(kù)。 解決方法 是去python官網(wǎng)重新下載一個(gè)版本穩(wěn)定的python解釋器,至少得

    2024年02月03日
    瀏覽(29)
  • 樹莓派(armv7l,arm32)buster配置Python虛擬環(huán)境、安裝PyQt5、安裝PySide2、ui和rc文件導(dǎo)出為py文件

    樹莓派(armv7l,arm32)buster配置Python虛擬環(huán)境、安裝PyQt5、安裝PySide2、ui和rc文件導(dǎo)出為py文件

    要從頭設(shè)置好一臺(tái)可用于開發(fā)的樹莓派,可以參考樹莓派 4B 無(wú)屏幕,連接WiFi、SSH、VNC,系統(tǒng)換源、pip換源,安裝中文輸入法 樹莓派(或者說(shuō)arm平臺(tái))使用Python虛擬環(huán)境的正確方式是使用 pipenv ,官網(wǎng)教程貼在這里pipenv-PyPi,建議先看懂,再進(jìn)行樹莓派的Python相關(guān)開發(fā) PyQt5或者

    2024年01月20日
    瀏覽(39)
  • 【Python之Pyside】如何在pycharm中使用pyside開發(fā)編輯Qt ui界面(uic、rcc)

    【Python之Pyside】如何在pycharm中使用pyside開發(fā)編輯Qt ui界面(uic、rcc)

    qtcreator自帶designer設(shè)計(jì)師編輯器,非常好用。 但是我們使用pycharm進(jìn)行界面開發(fā)的時(shí)候沒有designer,在pycharm中直接雙擊qt的ui文件會(huì)直接進(jìn)行xml格式的編輯。 要在pycharm中支持雙擊ui文件打開qtdesigner,我們需要先 在pycharm中添加安裝了pyside6的python環(huán)境,注意,安裝pyqt5不支持,舊

    2024年04月12日
    瀏覽(30)
  • 使用Python和Qt6(PySide6)創(chuàng)建GUI應(yīng)用1簡(jiǎn)介

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

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

    2024年02月04日
    瀏覽(23)
  • 使用Qt Designer為您的Qt for Python項(xiàng)目創(chuàng)建基于Qt Widgets的圖形界面的兩種方法

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

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

    2024年02月07日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包