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

Pyinstaller打包多個py文件和qt設(shè)計師的ui文件,帶ico圖標(biāo)

這篇具有很好參考價值的文章主要介紹了Pyinstaller打包多個py文件和qt設(shè)計師的ui文件,帶ico圖標(biāo)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

打包多文件為exe

讀取不到ui文件解決方法來自欽卓大佬的指點
目錄結(jié)構(gòu)
這幾個打馬賽克是打包時出現(xiàn)的文件目錄,先去掉
gui.py是pyqt寫的程序,是打包的主體,這里引用了adb.ui ,config.py,main.py文件
adb.ui 是qt設(shè)計師設(shè)計的界面
config.py是一些配置項目,比如配置抓取日志時的儲存路徑和車機(jī)里面存日志的路徑
i.ico是圖標(biāo)圖片
main.py是一些腳本方法,比如抓日志,啟動app,清除緩存等
output.txt是一個普通文本
pyinstaller ico,測試工具,qt,ui,開發(fā)語言

生成spec文件(目錄切到當(dāng)前項目下控制臺操作)

pyi-makespec -F -w gui.py
參數(shù)解釋
F 或 --onefile:生成一個單個的可執(zhí)行文件。將所有依賴項打包到一個獨立的可執(zhí)行文件中。
-D 或 --onedir:生成一個包含所有依賴項的目錄??蓤?zhí)行文件和依賴文件存儲在同一個目錄下。
-n NAME 或 --name NAME:指定生成的可執(zhí)行文件的名稱,替換默認(rèn)的輸出文件名。
-w 或 --windowed:生成一個無控制臺窗口的可執(zhí)行文件,即在后臺運行時不顯示控制臺窗口。
-c 或 --console:生成一個帶有控制臺窗口的可執(zhí)行文件,即在后臺運行時顯示控制臺窗口。
配置spec文件,配置ui界面和ico圖標(biāo)
pyi-makespec -F -c gui.py

-c 的好處可以實時顯示控制臺內(nèi)容
pyinstaller ico,測試工具,qt,ui,開發(fā)語言



block_cipher = None


a = Analysis(
    ['gui.py'],
    pathex=[],
    binaries=[],
    datas=[('adb.ui','.')], #ui文件,使用qt設(shè)計師畫的頁面
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [],
    name='gui',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['i.ico'], #軟件圖標(biāo)路徑
)

重點
gui.py文件讀取ui時加入一些東西
processPath方法和使用此方法讀取adb.ui文件( self.ui = QUiLoader().load(processPath(‘a(chǎn)db.ui’))
)這樣才能讀取到ui文件文章來源地址http://www.zghlxwxcb.cn/news/detail-792355.html

import sys,os
from PySide2.QtWidgets import QApplication, QMessageBox
from PySide2.QtUiTools import QUiLoader
from main import PackNameOperate, Log

def processPath(path):
    '''
    :param path: 相對于根目錄的路徑
    :return: 拼接好的路徑
    '''
    if getattr(sys, 'frozen', False):  # 判斷是否存在屬性frozen,以此判斷是打包的程序還是源代碼。false為默認(rèn)值,即沒有frozen屬性時返回false
        base_path = sys._MEIPASS #該屬性也是打包程序才會有,源代碼嘗試獲取該屬性會報錯
    else:
        base_path = os.path.abspath(".") # 當(dāng)源代碼運行時使用該路徑
    return os.path.join(base_path, path)
class Stats:

    def __init__(self):
        self.kill_list = ['獲取當(dāng)前運行的包名', '殺掉當(dāng)前啟動的app',
                          '清除當(dāng)前app緩存信息', '清楚緩存并且殺掉app', '清楚緩存并且殺掉app并且重新啟動']
        self.ui = QUiLoader().load(processPath('adb.ui'))
        self.ui.qd_app.clicked.connect(self.qd)
        self.ui.zx.clicked.connect(self.kill)
        self.ui.kill_apps.addItems(self.kill_list)
        self.ui.get_log.clicked.connect(self.log)

    def qd(self):
        pack_name = self.ui.pack_name.text()
        if PackNameOperate.pack_name_start(pack_name) == 1:
            QMessageBox.critical(self.ui, '包名錯誤', '請檢查包名是否輸入正確!')
        else:
            QMessageBox.information(self.ui, '操作成功', f'{pack_name}啟動完成')

    def kill(self):
        xz = self.ui.kill_apps.currentText()
        index = self.kill_list.index(xz)
        if PackNameOperate.kill_app(index) == 0:
            QMessageBox.information(self.ui, '操作成功', f'"{xz}"執(zhí)行完成')
        elif '包名' in PackNameOperate.kill_app(index):
            QMessageBox.information(self.ui, '操作成功', PackNameOperate.kill_app(index))
        else:
            QMessageBox.critical(self.ui, '錯誤', '設(shè)備未連接或者未啟動adb模式')

    def log(self):
        Log.log()


app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()

此時就可以打包了,對spec文件打包(目錄切到當(dāng)前項目下控制臺操作)

pyinstaller gui.spec

到了這里,關(guān)于Pyinstaller打包多個py文件和qt設(shè)計師的ui文件,帶ico圖標(biāo)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 交互設(shè)計師、UI設(shè)計師、視覺設(shè)計師面試作品集包裝模板figma源文件

    交互設(shè)計師、UI設(shè)計師、視覺設(shè)計師面試作品集包裝模板figma源文件

    頁面數(shù)量:19頁 頁面尺寸:1920*1080PX 交付格式:figma 贈送文件:24款高質(zhì)量樣機(jī) 交付文件:作品集模板源文件、作品集包裝psd源文件、作品集所用字體文件 該作品集雖然只有19頁,但可根據(jù)需求復(fù)制作品集里已有的頁面作為模版來擴(kuò)展設(shè)計內(nèi)容 注意:作品集所使用的App是不包

    2024年04月16日
    瀏覽(32)
  • python pyinstaller spec文件 打包多個python文件為exe應(yīng)用程序

    python pyinstaller spec文件 打包多個python文件為exe應(yīng)用程序

    使用pyinstaller 單個文件打包 使用pyinstaller 多個文件打包 這里先看下項目文件結(jié)構(gòu): 編輯PaserAdapter_Test.spec文件 執(zhí)行打包命令(可指定輸出程序存放的路徑) 假設(shè)使用默認(rèn)路徑 指定程序存放路徑 如果在windows系統(tǒng)打包,則dist下會有對應(yīng)的.exe程序,此時可脫離其他源文件獨自

    2024年02月16日
    瀏覽(32)
  • 【Python小工具】解決Python的Pyinstaller將.py文件打包成.exe可執(zhí)行文件后文件過大的問題

    在文章 【Python小項目】Python的GUI庫Tkinter實現(xiàn)隨機(jī)點名工具或抽獎工具并封裝成.exe可執(zhí)行文件中我們實現(xiàn)了一個python小項目的制作并將其打包成了.exe可執(zhí)行文件。但是,當(dāng)我們查看了一下文件大小后,好家伙,一百多行代碼打包完竟然有242M。于是,我們靜下心來思考,是不

    2024年02月10日
    瀏覽(29)
  • PyQt5利用Qt designer(QT設(shè)計師)使用tab widget和stacked widget實現(xiàn)多頁面切換

    PyQt5利用Qt designer(QT設(shè)計師)使用tab widget和stacked widget實現(xiàn)多頁面切換

    本文只提供一種設(shè)計思路來完成簡單的頁面切換功能,并沒有涉及頁面的美化以及復(fù)雜的業(yè)務(wù)功能實現(xiàn)。 點擊tab頁對tab widget的tab頁進(jìn)行切換效果圖: 點擊radio button驅(qū)動stacked widget多頁面切換效果圖: 下面進(jìn)行分步說明。 打開qt designer,新建一個widget窗口。 將一個tab widget拖

    2024年02月03日
    瀏覽(34)
  • 使用pyinstaller將具有多個python文件的項目打包為exe(含依賴庫)

    使用pyinstaller將具有多個python文件的項目打包為exe(含依賴庫)

    1、將需要打包有python文件放到一個文件夾,例如下圖所示的Demo文件夾,其中ClickEveryDay.py為主文件,telegram.ico為圖標(biāo)文件。 ??2、生成主函數(shù)對應(yīng)的spec文件 命令:在Demo文件夾路徑下使用:pyi-makespec ClickEveryDay.py,將產(chǎn)生一個ClickEveryDay.spec文件。 3、修改ClickEveryDay.spec文件:加

    2024年02月11日
    瀏覽(27)
  • 【Python打包成exe】快速將多個py文件及其他文件打包為exe可執(zhí)行文件

    【Python打包成exe】快速將多個py文件及其他文件打包為exe可執(zhí)行文件

    嘗試了很多種Python打包為exe可執(zhí)行文件的方式,通過總結(jié),得出一種最簡潔、最有效的打包方式分享給大家! 準(zhǔn)備好將要打包的工程文件(夾) 如上圖所示, 首先將主文件UI.py和文件夾./file放在一級文件夾./YW下方,如果有同級其他.py文件與UI.py放在同一級文件夾即可! 然后

    2024年01月21日
    瀏覽(29)
  • python - 安裝pyqt5模塊,PyCharm配置QtDesigner/Pyuic/Pyrcc,ui轉(zhuǎn)py文件,圖片轉(zhuǎn)ico/icns格式,pyinstaller/py2app打包代碼

    window配置Python+PyQt5+QtDesigner+PyUic+PyRcc(最全安裝教程):https://blog.csdn.net/baidu_35145586/article/details/108110236 MacOS配置Pycharm+Python+PyQt5+QtDesigner+PyUic+PyRcc: https://blog.csdn.net/lkhk2008/article/details/116019386 QtDesigner工具的使用(界面與業(yè)務(wù)邏輯分離實現(xiàn)):https://blog.csdn.net/weixin_62094306/art

    2024年02月03日
    瀏覽(25)
  • 智能設(shè)計師的崛起:探尋智元兔AI設(shè)計師的神奇之旅

    智能設(shè)計師的崛起:探尋智元兔AI設(shè)計師的神奇之旅

    AI繪圖是指利用人工智能技術(shù)來生成或改善繪圖作品的方法和工具。通過使用深度學(xué)習(xí)和生成對抗網(wǎng)絡(luò)等算法,人工智能可以學(xué)習(xí)和模仿藝術(shù)家的創(chuàng)作風(fēng)格,生成逼真的藝術(shù)作品。 智元兔-AI設(shè)計師 是一款基于人工智能設(shè)計工具,利用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)的繪畫工具,旨在

    2024年02月10日
    瀏覽(13)
  • 大廠設(shè)計師青睞的十大設(shè)計網(wǎng)站

    大廠設(shè)計師青睞的十大設(shè)計網(wǎng)站

    設(shè)計絕對是薪酬差距最大的職業(yè)之一,有些人年薪100萬,有些人月薪3000。 你有沒有想過普通人和高薪設(shè)計師之間的差距在哪里? 在這篇文章中,我們將解密大廠設(shè)計師青睞的十大設(shè)計網(wǎng)站。讓我們看看! 即時設(shè)計是一款免費的在線 UI 設(shè)計工具,無系統(tǒng)限制,瀏覽器打開即

    2024年02月08日
    瀏覽(33)
  • 系統(tǒng)架構(gòu)設(shè)計師 7:系統(tǒng)架構(gòu)設(shè)計

    軟件架構(gòu)(Software Architecture, SA)并非可運行軟件,確切地說,它是一種表達(dá),使軟件工程師能夠: 1. 分析設(shè)計在滿足所規(guī)定的需求方面的有效性; 2. 在設(shè)計變更相對容易的階段,考慮體系結(jié)構(gòu)可能的選擇方案; 3. 降低與軟件構(gòu)造相關(guān)聯(lián)的風(fēng)險。 軟件架構(gòu)設(shè)計的生命周期包

    2024年02月12日
    瀏覽(92)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包