Python GUI预约系统 - 使用Tkinter实现简单预约功能
import tkinter as tk import requests import json
from getreverse import send_request from startreverse import scan
class App(tk.Frame): def init(self, master=None): super().init(master) self.master = master self.pack() self.create_widgets()
def create_widgets(self):
#输入cooKie
self.cookie_label = tk.Label(self, text='1.请输入cookie:')
self.cookie_label.pack(side='top', fill='x')
self.cookie_entry = tk.Entry(self)
self.cookie_entry.pack(side='top', fill='x')
self.date_label = tk.Label(self, text='2.请输入开始日期 格式为yyyy-mm-dd hh:mm:ss:')
self.date_label.pack(side='top', fill='x')
self.date_entry = tk.Entry(self)
self.date_entry.pack(side='top', fill='x')
#结束时间
self.enddate_label = tk.Label(self, text='3.请输入结束日期 格式为yyyy-mm-dd hh:mm:ss:')
self.enddate_label.pack(side='top', fill='x')
self.enddate_entry = tk.Entry(self)
self.enddate_entry.pack(side='top', fill='x')
self.ok_button = tk.Button(self, text='4.获取位置', command=self.send_date)
self.ok_button.pack(side='left')
self.devname_label = tk.Label(self, text='可选位置:')
self.devname_label.pack()
self.devname_listbox = tk.Listbox(self, selectmode='extended')
self.devname_listbox.pack()
self.start_button = tk.Button(self, text='5.开始预约', command=self.start_resv)
self.start_button.pack()
self.result_label = tk.Label(self, text='预约结果:')
self.result_label.pack()
self.result_listbox = tk.Listbox(self)
self.result_listbox.pack()
def send_date(self):
date = self.date_entry.get()
#转换为yyyymmdd
date = date.replace('-', '')
date = date.replace(' ', '')
date = date.replace(':', '')
date = date[:8]
res_json = send_request(date,self.cookie_entry.get())
if(res_json['message']=='用户未登录,请重新登录'):
self.devname_listbox.insert('end', '用户未登录,请重新登录')
devnames = [dev['devName'] for dev in res_json['data']]
devId = [dev['devId'] for dev in res_json['data']]
for i in range(len(devnames)):
self.devname_listbox.insert('end', devnames[i]+' '+devId[i])
def start_resv(self):
selected_indices = self.devname_listbox.curselection()
selected_devnames = [self.devname_listbox.get(i) for i in selected_indices]
selected_devId = [dev.split(' ')[1] for dev in selected_devnames]
res = scan(selected_devId,self.date_entry.get(),self.enddate_entry.get(),self.cookie_entry.get())
for r in res:
self.result_listbox.insert('end', r)
root = tk.Tk() app = App(master=root) app.mainloop()
原文地址: https://www.cveoy.top/t/topic/mUh0 著作权归作者所有。请勿转载和采集!