最近學校開始講Python,但程序都是直接在Python終端里運行的,那這樣怎麼才能寫出應用軟體呢?像手機或電腦里用的那種一樣


寫圖形界面可以嘗試一下 tkinter ,可以寫出來一個圖形程序,

以下用 Python3 作為示例。

1. tkinter的初始化

tkinter 初始化一個窗口很簡單,包含導入就3行代碼。

import tkinter as tk

root = tk.Tk()
root.mainloop()

效果像這樣:

2. 實踐一下

寫一個隨機生成 1-100 以內隨機數的程序,按下按鈕來生成

代碼如下:

gen_random.py

import tkinter as tk
import random

def gen_random():
"""
使用 random 模塊下的 randint 函數生成隨機數
:return: 返回 1-100 以內的隨機數
"""
return str(random.randint(1, 100))

def control_entry():
# 刪除entry裡面的內容
entry_random.delete(0, tk.END)

# 向entry插入隨機數,隨機數由 gen_random 函數生成
entry_random.insert(0, gen_random())

if __name__ == __main__:
# 初始化
root = tk.Tk()

# 圖形界面的標題
root.title(隨機數生成器)

# 窗口的尺寸,分別對應的寬和高
root.geometry(250x100)

# 文本提示
label_random = tk.Label(root, text=生成 1-100 以內的隨機數)

# 隨機數展示的entry
entry_random = tk.Entry(root)

# 生成隨機數的按鈕,按下按鈕觸發函數
button_gen = tk.Button(
root,
text=生成隨機數,
command=control_entry)

# 三個控制項的布局,依次從上到下分布
label_random.pack()
entry_random.pack()
button_gen.pack()

# 保持圖形界面不被銷毀
root.mainloop()

3. 打包成exe

打包需要 pyinstaller 這個庫

pip install pyinstaller

打包

pyinstaller -F gen_random.py

會在當前目錄下的 dist 文件下生成一個 gen_random.exe 文件

這樣別人的電腦沒有安裝 Python,也可以運行你寫的程序了。


謝邀。答主的問題在於如何根據Python代碼生成一個可執行文件。可以使用pyinstaller庫來封裝我們的python程序,從而實現這個需求。

分享一個本蒟蒻的小小筆記(關於pyinstaller庫),若有不足,歡迎在評論區指出。


1.pyinstaller的安裝方法

pyinstaller需要在cmd下進行安裝,安裝指令為:pip install pyinstaller

更新指令為python -m pip install --upgrade pip

2.pyinstaller的作用

pyinstaller的作用是將一段python程序打包成一個運行起來不依靠python解釋器的應用程序,把這個打包的文件發送給你的朋友,即使他的電腦上沒有python解釋器,這個程序也能在他的電腦上運行

3.pyinstaller的用法(常用參數)

想根據一個指定的python文件生成可執行文件,其實只要在python文件所在的目錄下打開命令行,然後在命令行下面運行一句話:

pyinstaller -F &

實際操作時,也可以通過cd訪問文件夾,再通過dir查詢文件夾中的所有文件,再通過cd最終訪問到自己想要打包的源代碼的根目錄,然後再輸入命令:pyinstaller -F "文件名"即可;如果要修改圖標,比如要給文件「SevenDigitDrawV2.py「附上」curve.ico「的圖標,則輸入命令:pyinstaller -i curve.ico -F SevenDigitDrawV2.py

打包完成後,運行exe時會出現閃退現象,這時可以在程序運行的末尾添上input()來使窗口運行完主程序後還能停留,為了更加人性化,比如可以在input中添加"Press Enter to End:"

然後要記得定時升級你的pip工具:python -m pip install --upgrade pip


附一個常見的錯誤:

python用pyinstaller生成exe時報錯 TypeError: an integer is required (got type bytes)

解決辦法:報錯前的pyinstaller是用 pip install pyinstaller 來安裝的,改成用 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz 再安裝一次

其它說明:如果電腦中同時存在多個版本的python可能會導致各種問題(比如 「failed to execute script xxx」 、「failed to create process」),如果不是特別熟悉使用python只是為了偶爾使用的話最好把以前安裝的多餘的python版本刪掉或全部刪掉重新安裝(到官網下載最新的安裝程序,網上說32位的兼容性比較好),安裝步驟可參考:https://blog.csdn.net/weixin_40844416/article/details/80889165


帶有畫面的,去搜搜python gui 編程;

封裝成exe的,用pyinstaller或者py2exe;

善用搜索


學pyqt5,或者tkinter。就可以寫出下面這樣的軟體了。


你那是學下py語言基礎規範,後面可以結合html前端做網頁之類


終端里運行的也是python的程序,只是沒有圖形界面。

如果要做成手機、電腦里的那種圖形界面,也就是GUI,python又pyQt可以去了解下


推薦閱讀:
相关文章