Python Qt 學習筆記(四) 發布程式

2022-07-28 02:09:08 字數 1648 閱讀 9779

pip install pyinstaller
pyinstaller 支援 python 2.7 和 python 3.3 以後的版本。

支援在 windows, mac os x,  linux 系統上打包出 可執行程式。

將之前寫的qt介面程式打包,進入要打包的py檔案所在目錄,在命令列裡執行下面命令

pyinstaller stats.py --noconsole --hidden-import pyside2.qtxml  # 注意pyside2.qtxml一定要嚴格大小寫!
其中--noconsole指定不要命令列視窗,否則我們的程式執行的時候,還會多乙個黑視窗。建議大家可以先去掉這個引數,等確定執行成功後,再加上引數重新製作exe。因為這個黑視窗可以顯示出程式的報錯,這樣我們容易找到問題的線索。

--hidden-import pyside2.qtxml引數是因為這個 qtxml庫是動態匯入,pyinstaller沒法分析出來,需要我們告訴它。

然後會在當前目錄下生成兩個資料夾build和dist,生成的可執行應用程式就在dist裡

注意:由於程式動態載入了ui程式,打包時並沒有將那個statis.ui打包進去,可以手動將它放進包裡。

雙擊執行

通過下面**,可更改主視窗

1

from pyside2.qtgui import

qicon24

#載入 icon

logo.png

'))

注意:這些圖示png檔案,在使用pyinstaller建立可執行程式時,也要拷貝到程式所在目錄。否則可執行程式執行後不會顯示圖示。

執行

應用程式圖示是放在可執行程式裡面的資源。

可以在pyinstaller建立可執行程式時,通過引數--icon="logo.ico"指定。

比如

pyinstaller stats.py --noconsole --hidden-import pyside2.qtxml --icon="logo.ico"
注意引數一定是存在的ico檔案,不能是png等檔案。

**注意:這些應用程式圖示ico檔案,在使用pyinstaller建立可執行程式時,不需要要拷貝到程式所在目錄。因為它已經被嵌入可執行程式了。

打包後檢視可能圖示並沒有變

網上搜了搜,原因是windows資源管理器對圖示有快取問題

解決辦法

1、將打包的exe檔案複製到另外的乙個地方,有時重啟stats.exe程序也可以修復。

2、更改檔案檢視方式即 調整為大圖示、中圖示、小圖示等,stats.exe程序會更新快取

3、打包時新增引數--onefile

redis學習筆記(20) 發布與訂閱

redis的發布與訂閱功能由以下幾個命令實現 序號命令及描述 1subscribe 訂閱給定的乙個或多個頻道的資訊 2publish 將資訊 message 傳送到指定的頻道 channel 3pubsub 檢視訂閱與發布系統狀態 4psubscribe 訂閱乙個或多個符合給定模式的頻道 客戶端a通...

RabbitMQ學習筆記(三) 發布與訂閱

在我們使用手機傳送訊息的時候,即可以選擇給單個手機號碼傳送訊息,也可以選擇多個手機號碼,訊息。前面學習工作佇列的時候,我們使用的場景是乙個訊息只能被乙個消費者程式例項接收並處理,但是如果想要 訊息,僅憑之前學到的東西是實現不了的。所以這裡需要引入rabbitmq的發布與訂閱模式。rabbitmq通訊...

redis學習筆記05 發布訂閱模式

由於redis訊息佇列並不支援多播機制,即生產者產出一次,由中介軟體複製傳送給多個消費者的機制,為了彌補這個不足,單獨引入了發布訂閱模式的模組。使用方式如下 生產者 import redis client redis.strictredis client.publish ll pythonbooks...