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',
]
easygui API文档
这里直接给个 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()
pyinstaller
PyInstaller-3.4.tar.gz
C:\Users\19039210\AppData\Local\Programs\Python\Python37
下 PyInstaller-3.4
文件夹中C:\Users\19039210\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyInstaller-3.4-py3.7.egg\PyInstaller\utils\win32\winmanifest.py
第with open(filename,encoding="UTF-8") as f:
pyinstaller --onefile demo.py
运行即可生成 exe ,注意路径 等处理