easygui
Python 的 GUI 編程,這裏用的是 easygui ,完成一些簡單的圖形化界面開發。
基本組件:
__all__ = ['buttonbox',
'diropenbox',
'fileopenbox',
'filesavebox',
'textbox',
'ynbox',
'ccbox',
'boolbox',
'indexbox',
'msgbox',
'integerbox',
'multenterbox',
'enterbox',
'exceptionbox',
'choicebox',
'codebox',
'passwordbox',
'multpasswordbox',
'multchoicebox',
'EgStore',
'eg_version',
'egversion',
'abouteasygui',
'egdemo',
]
這裏直接給個 demo 看一看,然後把下面 demo 代碼拉下來,本地跑一跑,修改修改,運行下上手妥妥的。
demo
import easygui as g
import sys
class easyDemo:
def guifun(self):
loginStatus = False
g.msgbox(msg="歡迎使用npc機器人,請先使用npc賬號登陸~~ \n\n\n\n\n\n\n\n\n\n\n\n如有問題,請聯繫xxx",title="npc機器人")
while not loginStatus:
mulRes = g.multpasswordbox('請輸入您的賬號密碼', '商品盤點登錄框', ('帳號', '密碼'))
if mulRes is None:
sys.exit(0)
if mulRes[0] == '' or mulRes[1] == '':
g.msgbox('請輸入完整的賬號密碼', ok_button="確定", title="提醒")
continue
account = mulRes[0]
password = mulRes[1]
#拿着賬號密碼驗權
if account == 'admin' and password == 'admin':
g.msgbox('帳號: ' + account + '登陸成功', ok_button="下一步",title="登陸結果")
loginStatus = True
else:
g.msgbox('帳號: ' + account + '登陸失敗', ok_button="重新登陸")
userName = 'Npc'
# g.msgbox("顯示一個窗口並且顯示這些文字")# 只顯示一個對話框並且只有一個ok
msg= userName + "歡迎使用npc機器人,請選擇你要做的事情?"
title="npc機器人" # 在左上角的 標題曠裏面
choices=['打印二維碼','查詢我的商品','查看詳情','幫助'] # 在選擇框內 , 提供可選擇項
choice=g.choicebox(msg,title,choices) # 在這裏 choice 可以得到上面你選擇的那個選項
if choice is None:
sys.exit(0)
g.msgbox("你的選擇是:"+str(choice),title="npc機器人",ok_button="下一步") # 打印出來
viewType = ['查看全部', '未打印商品', '單條商品']
viewChose = g.choicebox(msg='請選擇你要打印的方式',choices=viewType,title="npc機器人")
if viewChose is None:
sys.exit(0)
if viewChose == '單條商品':
# 輸入商品編號
goodCode = g.enterbox('請輸入商品編號:',title='npc機器人')
if goodCode:
g.msgbox("正在搜索:" + str(goodCode), '結果', ok_button="下一步") # 打印出來
mutiSelect = g.choicebox(msg='搜索結果', choices=[goodCode],title='npc機器人')
else:
#獲取 列表內容
# 這裏demo 就用一些測試數據
vedio_list = [1,2,3,4343,2]
mutiSelect = g.multchoicebox(msg='請勾選您要打印的商品條目 -- 767條' ,choices=vedio_list,title="npc機器人")
if mutiSelect is None:
sys.exit(0)
msgRes = g.msgbox('請選擇文件夾保存路徑', ok_button="下一步",title="npc機器人")
if msgRes is None:
g.msgbox('未選擇,保存失敗', ok_button="完成", title="npc機器人")
sys.exit(0)
dir_path = g.diropenbox()
print(dir_path)
## 後續操作
if __name__ == '__main__':
S = easyDemo()
S.guifun()
windows 下 python 腳本轉exe
- 安裝
pyinstaller
PyInstaller-3.4.tar.gz
- 放到 你電腦 python 根目錄
C:\Users\19039210\AppData\Local\Programs\Python\Python37
下PyInstaller-3.4
文件夾中 - 記得修改 pyinstall 源碼中 winmain.py 編碼格式utf8
C:\Users\19039210\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyInstaller-3.4-py3.7.egg\PyInstaller\utils\win32\winmanifest.py
第
1075 行 爲
with open(filename,encoding="UTF-8") as f:
- 使用命令
pyinstaller --onefile demo.py
運行即可生成 exe ,注意路徑 等處理
效果如下,會保存在當前腳本 的同層生成一個 dist
文件夾 的目錄下