紧接上文,我们接下来来讲menu.py
通过上文的login.py登录界面,账号密码输入正确后,通过os.system('python menu.py')跳转到menu.py文件中,并运行。(需要注意的是,两个文件需要放在同一个文件夹下)
紧接着,则需要设计菜单界面,我的想法是:
之后,我的大致想法是通过输入功能编号,实现不同功能文件的转换。
代码如下:
import os
import PySimpleGUI as sg
import pandas as pd
import time
layout = [[sg.Text("1.添加客户账单 2.删除客户账单 3.修改客户账单")], #界面设计
[sg.Text("4.查找客户账单 5.一览客户账单 6.账单结算")],
[sg.Text("7.统计客户账单")],
[sg.Text("请选择功能:")],
[sg.Input(key='-INPUT-')], #接收键盘输入的值
[sg.Text(size=(40,1), key='-OUTPUT-')],
[sg.Button('Ok'), sg.Button('退出')]] #设置按钮
window = sg.Window('客户账单管理系统', layout)
while True:
event, values = window.read() #读取动作和数值
if event == sg.WINDOW_CLOSED or event == '退出':
break
values = pd.DataFrame([values])
if values.iat[0,0] == '': #输入为空时,发出警告
window.close()
layout = [[sg.Text("填写为空!")],
[sg.Button('返回')]]
window = sg.Window('错误', layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == '返回':
time.sleep(0.5)
window.close()
os.system('python menu.py')
break
choice = int(values.iat[0,0])
if choice == 1: #当值为1时,跳转到insert.py
time.sleep(0.5)
window.close()
os.system('python insert.py')
if choice == 2: #当值为2时,跳转到delete.py
time.sleep(0.5)
window.close()
os.system('python delete.py')
if choice == 3: #当值为3时,跳转到revise.py
time.sleep(0.5)
window.close()
os.system('python revise.py')
if choice == 4: #当值为4时,跳转到search.py
time.sleep(0.5)
window.close()
os.system('python search.py')
if choice == 5: #当值为5时,跳转到glance.py
time.sleep(0.5)
window.close()
os.system('python glance.py')
if choice == 6: #当值为6时,跳转到clearing.py
time.sleep(0.5)
window.close()
os.system('python clearing.py')
if choice == 7: #当值为7时,跳转到stats.py
time.sleep(0.5)
window.close()
os.system('python stats.py')
else:
window['-OUTPUT-'].update("请输入正确的序号!") #当输入的值不在范围内,则报错
window.close()
运行截图:
insert.py插入功能的实现: