方格精選

[Python]用 PyInstaller 打包一個簡單計算機應用exe (GUI 使用 PyQt5)

更新 發佈閱讀 8 分鐘

用 PyInstaller 打包一個簡單計算機應用 (GUI 使用 PyQt5)

本教學將帶您使用 PyQt5 建立一個簡單的計算機應用,並透過 PyInstaller 將其打包成執行檔(EXE)。

raw-image


1. 安裝所需環境

在開始之前,請確保您已安裝以下工具:

必要套件

Python: 建議使用 Python 3.8 或以上。
PyQt5: 用於建立圖形化界面。
PyInstaller: 用於將 Python 程式打包成可執行檔案。

安裝步驟

在命令提示字元 (Windows) 或終端機 (macOS/Linux) 中執行:

pip install pyqt5 pyinstaller

2. 建立簡單計算機程式

程式碼範例

以下是簡單計算機應用的完整程式碼,使用 PyQt5 建立基本的加減乘除功能:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QPushButton, QGridLayout

class Calculator(QWidget):
def __init__(self):
super().__init__()
self.init_ui()

def init_ui(self):
self.setWindowTitle('簡單計算機')
self.setGeometry(100, 100, 300, 400)

# 垂直佈局
self.layout = QVBoxLayout()

# 顯示框
self.display = QLineEdit(self)
self.display.setReadOnly(True)
self.display.setFixedHeight(50)
self.layout.addWidget(self.display)

# 按鈕佈局
self.grid_layout = QGridLayout()

buttons = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2), ('/', 1, 3),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2), ('*', 2, 3),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('-', 3, 3),
('0', 4, 0), ('C', 4, 1), ('=', 4, 2), ('+', 4, 3)
]

for text, row, col in buttons:
btn = QPushButton(text, self)
btn.setFixedSize(60, 60)
btn.clicked.connect(self.on_click)
self.grid_layout.addWidget(btn, row, col)

self.layout.addLayout(self.grid_layout)
self.setLayout(self.layout)

def on_click(self):
sender = self.sender().text()

if sender == 'C':
self.display.clear()
elif sender == '=':
try:
result = eval(self.display.text())
self.display.setText(str(result))
except Exception:
self.display.setText('錯誤')
else:
self.display.setText(self.display.text() + sender)

if __name__ == '__main__':
app = QApplication(sys.argv)
calculator = Calculator()
calculator.show()
sys.exit(app.exec_())

將以上程式碼保存為 simple_Calculator.py


3. 使用 PyInstaller 打包

步驟

1. 基本打包

執行以下命令,將程式打包成單個 EXE 文件:

pyinstaller --onefile simple_Calculator.py

在存放的資料夾,用CMD開啟,輸入指令就會開始進行打包。

raw-image
raw-image

執行後,dist/ 目錄中會生成一個名為 calculator.exe 的可執行檔案。

raw-image

2.不出現命令視窗

如果你想讓執行檔不出現命令視窗(黑色控制台窗口),你可以使用 --noconsole--windowed 選項。

指令範例

pyinstaller --onefile --windowed simple_Calculator.py

選項解釋

  • --onefile: 將所有的依賴和程式打包成一個單一的執行檔。
  • --noconsole(或 --windowed):指示 PyInstaller 不要顯示命令行控制台窗口。這通常用於 GUI 應用程式。

打包過程好像也比較短

raw-image


4. 測試執行

前往 dist/ 目錄,雙擊 calculator.exe,應用應該可以正常運行。如果發現問題,可以使用以下命令進行除錯:

pyinstaller --onefile --debug simple_Calculator.py


5. 注意事項

  1. 依賴檔案:
    • 若程式中使用了外部文件(如圖示或配置文件),需確保其路徑正確。
  2. 測試環境:
    • 在不同系統上測試執行檔,確保其兼容性。


6. 總結

完成後,您將擁有一個可獨立運行的簡單計算機應用,無需依賴 Python 環境即可執行。

留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
157會員
309內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/04/15
在軟體開發或部署過程中,我們經常需要對多個 .ini 設定檔進行批次修改,例如將某個舊的參數名稱或路徑名稱,替換成新的命名。 這就像記事本的「全部取代」功能,但你不需要一個個打開檔案慢慢點——你可以用 Python 自動完成這些事! 本文將介紹一個 Python 函式:search_and_re
2025/04/15
在軟體開發或部署過程中,我們經常需要對多個 .ini 設定檔進行批次修改,例如將某個舊的參數名稱或路徑名稱,替換成新的命名。 這就像記事本的「全部取代」功能,但你不需要一個個打開檔案慢慢點——你可以用 Python 自動完成這些事! 本文將介紹一個 Python 函式:search_and_re
2025/04/11
🐶 什麼是 Watchdog? Watchdog 是一個 Python 套件,用來即時監控檔案系統的變化。它可以在資料夾內有「新增」、「修改」、「刪除」等事件時,立即觸發事件處理函式,不需要手動輪詢 (polling),效率高又省資源。 ✅ Watchdog 的特點: 採用 OS 層級的檔案
2025/04/11
🐶 什麼是 Watchdog? Watchdog 是一個 Python 套件,用來即時監控檔案系統的變化。它可以在資料夾內有「新增」、「修改」、「刪除」等事件時,立即觸發事件處理函式,不需要手動輪詢 (polling),效率高又省資源。 ✅ Watchdog 的特點: 採用 OS 層級的檔案
2025/01/01
有時候總是會需要將兩個PDF檔或多個來做合併。 在 Python 中,您可以使用 PyPDF2 或 PyPDF4 等庫來合併多個 PDF 文件。 以下是使用 PyPDF2 的範例步驟: 我利用word另存兩個pdf來做示範: 完成合併 1. 安裝 PyPDF2 如果還未安裝,您可以
Thumbnail
2025/01/01
有時候總是會需要將兩個PDF檔或多個來做合併。 在 Python 中,您可以使用 PyPDF2 或 PyPDF4 等庫來合併多個 PDF 文件。 以下是使用 PyPDF2 的範例步驟: 我利用word另存兩個pdf來做示範: 完成合併 1. 安裝 PyPDF2 如果還未安裝,您可以
Thumbnail
看更多
你可能也想看
Thumbnail
生產力爆發帶來的過剩,會讓過去的「還可以啦」成為最低標準。市場需求對於出類拔萃、獨一無二的需求還是存在,但是對於那些價格高度敏感,或是只需要穩定、便宜、還可以啦的需求端來說,AI 正在迅速取代這部分的供給,中間長尾的服務提供者被 AI 替換。
Thumbnail
生產力爆發帶來的過剩,會讓過去的「還可以啦」成為最低標準。市場需求對於出類拔萃、獨一無二的需求還是存在,但是對於那些價格高度敏感,或是只需要穩定、便宜、還可以啦的需求端來說,AI 正在迅速取代這部分的供給,中間長尾的服務提供者被 AI 替換。
Thumbnail
用 PyInstaller 打包一個簡單計算機應用 (GUI 使用 PyQt5) 本教學將帶您使用 PyQt5 建立一個簡單的計算機應用,並透過 PyInstaller 將其打包成執行檔(EXE)。 1. 安裝所需環境 在開始之前,請確保您已安裝以下工具: 必要套件 Python: 建
Thumbnail
用 PyInstaller 打包一個簡單計算機應用 (GUI 使用 PyQt5) 本教學將帶您使用 PyQt5 建立一個簡單的計算機應用,並透過 PyInstaller 將其打包成執行檔(EXE)。 1. 安裝所需環境 在開始之前,請確保您已安裝以下工具: 必要套件 Python: 建
Thumbnail
本篇文章將帶你一步步建立一個簡單的 PyQt5 GUI 應用程式,通過 yt-dlp 來下載 YT 視頻。你可以在這個應用中輸入視頻的 URL,並即時看到下載進度。 GUI介面 下載到開啟的資料夾路徑 前置條件 在開始之前,請確保你已經安裝了以下軟體和庫: 安裝 Python 確保你
Thumbnail
本篇文章將帶你一步步建立一個簡單的 PyQt5 GUI 應用程式,通過 yt-dlp 來下載 YT 視頻。你可以在這個應用中輸入視頻的 URL,並即時看到下載進度。 GUI介面 下載到開啟的資料夾路徑 前置條件 在開始之前,請確保你已經安裝了以下軟體和庫: 安裝 Python 確保你
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
本篇文章將教你如何使用Python和PyQt5來建立一個GUI應用程式。PyQt5是一個相當流行的Python模組,透過這個文章你將學習如何使用它來建立一個互動式的應用程式。
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
建置 vscode + python 開發環境的完整流程,詳細且附圖
Thumbnail
1. 詳細的 python 安裝流程(不需要 anaconda) 2. 透過「命令提示字元」啟動 python 的方法
Thumbnail
1. 詳細的 python 安裝流程(不需要 anaconda) 2. 透過「命令提示字元」啟動 python 的方法
Thumbnail
PyInstaller 是一個強大的工具,可以將 Python 程式碼打包成獨立的可執行檔案,讓你的程式可以在沒有 Python 解釋器的情況下運行。這對於分享和分發你的 Python 應用程式非常有用。以下是使用 PyInstaller 的基本步驟:
Thumbnail
PyInstaller 是一個強大的工具,可以將 Python 程式碼打包成獨立的可執行檔案,讓你的程式可以在沒有 Python 解釋器的情況下運行。這對於分享和分發你的 Python 應用程式非常有用。以下是使用 PyInstaller 的基本步驟:
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News