本教學將帶您使用 PyQt5 建立一個簡單的計算機應用,並透過 PyInstaller 將其打包成執行檔(EXE)。
在開始之前,請確保您已安裝以下工具:
Python: 建議使用 Python 3.8 或以上。
PyQt5: 用於建立圖形化界面。
PyInstaller: 用於將 Python 程式打包成可執行檔案。
在命令提示字元 (Windows) 或終端機 (macOS/Linux) 中執行:
pip install pyqt5 pyinstaller
以下是簡單計算機應用的完整程式碼,使用 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
。
執行以下命令,將程式打包成單個 EXE 文件:
pyinstaller --onefile simple_Calculator.py
在存放的資料夾,用CMD開啟,輸入指令就會開始進行打包。
執行後,dist/
目錄中會生成一個名為 calculator.exe
的可執行檔案。
如果你想讓執行檔不出現命令視窗(黑色控制台窗口),你可以使用 --noconsole
或 --windowed
選項。
pyinstaller --onefile --windowed simple_Calculator.py
--onefile
: 將所有的依賴和程式打包成一個單一的執行檔。--noconsole
(或 --windowed
):指示 PyInstaller 不要顯示命令行控制台窗口。這通常用於 GUI 應用程式。打包過程好像也比較短
前往 dist/
目錄,雙擊 calculator.exe
,應用應該可以正常運行。如果發現問題,可以使用以下命令進行除錯:
pyinstaller --onefile --debug simple_Calculator.py
完成後,您將擁有一個可獨立運行的簡單計算機應用,無需依賴 Python 環境即可執行。