|  |  |  | @ -0,0 +1,579 @@ | 
			
		
	
		
			
				
					|  |  |  |  | from tkinter import * | 
			
		
	
		
			
				
					|  |  |  |  | import os | 
			
		
	
		
			
				
					|  |  |  |  | import datetime | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | win = Tk() | 
			
		
	
		
			
				
					|  |  |  |  | win.title('火车订票系统') | 
			
		
	
		
			
				
					|  |  |  |  | win.geometry('600x400+280+150') | 
			
		
	
		
			
				
					|  |  |  |  | win.configure(bg='#f6677f')    | 
			
		
	
		
			
				
					|  |  |  |  | trainlist = [] | 
			
		
	
		
			
				
					|  |  |  |  | people = [] | 
			
		
	
		
			
				
					|  |  |  |  | m = '' | 
			
		
	
		
			
				
					|  |  |  |  | s = '' | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | class Train:   | 
			
		
	
		
			
				
					|  |  |  |  |     def __init__(self): | 
			
		
	
		
			
				
					|  |  |  |  |         self.ID = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.firstname = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.lastname = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.time = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.price = 0 | 
			
		
	
		
			
				
					|  |  |  |  |         self.seating = 0 | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  | class Users:    | 
			
		
	
		
			
				
					|  |  |  |  |     def __init__(self): | 
			
		
	
		
			
				
					|  |  |  |  |         self.personID = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.name = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.ID = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.time = '' | 
			
		
	
		
			
				
					|  |  |  |  |         self.seating = 0 | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  | def Init(trainlist):   | 
			
		
	
		
			
				
					|  |  |  |  |     print("初始化......") | 
			
		
	
		
			
				
					|  |  |  |  |     file_object = open('train.txt', 'r') | 
			
		
	
		
			
				
					|  |  |  |  |     for line in file_object: | 
			
		
	
		
			
				
					|  |  |  |  |         tra = Train() | 
			
		
	
		
			
				
					|  |  |  |  |         line = line.strip("\n") | 
			
		
	
		
			
				
					|  |  |  |  |         s = line.split(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         tra.ID = s[0] | 
			
		
	
		
			
				
					|  |  |  |  |         tra.firstname = s[1] | 
			
		
	
		
			
				
					|  |  |  |  |         tra.lastname = s[2] | 
			
		
	
		
			
				
					|  |  |  |  |         tra.time = s[3] | 
			
		
	
		
			
				
					|  |  |  |  |         tra.price = s[4] | 
			
		
	
		
			
				
					|  |  |  |  |         tra.seating = s[5] | 
			
		
	
		
			
				
					|  |  |  |  |         trainlist.append(tra) | 
			
		
	
		
			
				
					|  |  |  |  |     file_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |     man_object = open('man.txt', 'r') | 
			
		
	
		
			
				
					|  |  |  |  |     for line in man_object: | 
			
		
	
		
			
				
					|  |  |  |  |         user = Users() | 
			
		
	
		
			
				
					|  |  |  |  |         line = line.strip("\n") | 
			
		
	
		
			
				
					|  |  |  |  |         m = line.split(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         user.personID = m[0] | 
			
		
	
		
			
				
					|  |  |  |  |         user.name = m[1] | 
			
		
	
		
			
				
					|  |  |  |  |         user.ID = m[2] | 
			
		
	
		
			
				
					|  |  |  |  |         user.time = m[3] | 
			
		
	
		
			
				
					|  |  |  |  |         user.seating = m[4] | 
			
		
	
		
			
				
					|  |  |  |  |         people.append(user) | 
			
		
	
		
			
				
					|  |  |  |  |     man_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |     print("初始化成功!") | 
			
		
	
		
			
				
					|  |  |  |  |      | 
			
		
	
		
			
				
					|  |  |  |  | class ADD:  | 
			
		
	
		
			
				
					|  |  |  |  |     def Add_f(self): | 
			
		
	
		
			
				
					|  |  |  |  |         roob = Toplevel(win) | 
			
		
	
		
			
				
					|  |  |  |  |         roob.title('火车信息输入') | 
			
		
	
		
			
				
					|  |  |  |  |         roob.geometry('500x240') | 
			
		
	
		
			
				
					|  |  |  |  |         lb1 = Label(roob, text='请输入车次号',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb1.place(relx=0.1, rely=0.1, relwidth=0.5, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         a_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         a_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp1 = Entry(roob, textvariable=a_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp1.place(relx=0.6, rely=0.1, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb2 = Label(roob, text='请输入火车起点',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb2.place(relx=0.1, rely=0.2, relwidth=0.5, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         b_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         b_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp2 = Entry(roob, textvariable=b_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp2.place(relx=0.6, rely=0.2, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb3 = Label(roob, text='请输入火车终点',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb3.place(relx=0.1, rely=0.3, relwidth=0.5, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         c_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         c_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp3 = Entry(roob, textvariable=c_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp3.place(relx=0.6, rely=0.3, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb4 = Label(roob, text='请输入火车出发时间',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb4.place(relx=0.1, rely=0.4, relwidth=0.5, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         d_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         d_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4 = Entry(roob, textvariable=d_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.place(relx=0.6, rely=0.4, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb5 = Label(roob, text='请输入火车的票价',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb5.place(relx=0.1, rely=0.5, relwidth=0.5, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         e_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         e_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5 = Entry(roob, textvariable=e_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5.place(relx=0.6, rely=0.5, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb6 = Label(roob, text='请输入火车的票数',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb6.place(relx=0.1, rely=0.6, relwidth=0.5, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         f_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         f_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp6 = Entry(roob, textvariable=f_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp6.place(relx=0.6, rely=0.6, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt1 = Button(roob, text="清空数据",bg='#d3fbfb', command=self.Delete) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt1.place(relx=0.1, rely=0.9, relwidth=0.1, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt = Button(roob, text="添加",bg='#d3fbfb', command=lambda: self.Add(a_text, b_text, c_text, d_text, e_text, f_text)) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt.place(relx=0.7, rely=0.8, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose = Button(roob, text='关闭',bg='#d3fbfb', command=roob.destroy) | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose.place(relx=0.7, rely=0.9, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt = Text(roob) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.place(relx=0.1, rely=0.8, relwidth=0.4, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Delete(self): | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp1.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp2.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp3.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp6.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Add(self, ID, firstname, lastname, time, price, seating): | 
			
		
	
		
			
				
					|  |  |  |  |         tra = Train() | 
			
		
	
		
			
				
					|  |  |  |  |         tra.ID = str(ID.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         tra.firstname = str(firstname.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         tra.lastname = str(lastname.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         tra.time = str(time.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         tra.price = str(price.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         tra.seating = str(seating.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         print(tra.ID, tra.firstname, tra.lastname, tra.time, tra.price, tra.seating) | 
			
		
	
		
			
				
					|  |  |  |  |         if self.searchByID(trainlist, tra.ID) == True: | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.insert(END, '车次重复,保存失败') | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |         trainlist.append(tra) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object = open("train.txt", "a") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(tra.ID) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(tra.firstname) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(tra.lastname) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(tra.time) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(tra.price) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write(tra.seating) | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.write("\n") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.insert(END, '保存成功')  | 
			
		
	
		
			
				
					|  |  |  |  |         return  | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID(self, trainlist, ID): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  | class BTT:   | 
			
		
	
		
			
				
					|  |  |  |  |     def Btt_f(self): | 
			
		
	
		
			
				
					|  |  |  |  |         win_2 = Toplevel(win) | 
			
		
	
		
			
				
					|  |  |  |  |         win_2.title('用户订票') | 
			
		
	
		
			
				
					|  |  |  |  |         win_2.geometry('500x240') | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb1 = Label(win_2, text='请输入出发地:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb1.place(relx=0, rely=0, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         a_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         a_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp1 = Entry(win_2, textvariable=a_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp1.place(relx=0.2, rely=0, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb2 = Label(win_2, text='请输入目的地:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb2.place(relx=0, rely=0.1, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         b_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         b_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp2 = Entry(win_2, textvariable=b_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp2.place(relx=0.2, rely=0.1, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb3 = Label(win_2, text='请输入您的姓名:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb3.place(relx=0, rely=0.65, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         c_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         c_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp3 = Entry(win_2, textvariable=c_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp3.place(relx=0.2, rely=0.66, relwidth=0.3, relheight=0.07) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb4 = Label(win_2, text='请输入您的ID:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb4.place(relx=0, rely=0.75, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         d_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         d_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4 = Entry(win_2, textvariable=d_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.place(relx=0.2, rely=0.76, relwidth=0.3, relheight=0.07) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb5 = Label(win_2, text='请输入车次号:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb5.place(relx=0, rely=0.85, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         e_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         e_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5 = Entry(win_2, textvariable=e_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5.place(relx=0.2, rely=0.86, relwidth=0.3, relheight=0.07) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb6 = Label(win_2, text='请输入所需票数:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb6.place(relx=0.6, rely=0.65, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         f_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         f_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp6 = Entry(win_2, textvariable=f_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp6.place(relx=0.8, rely=0.66, relwidth=0.1, relheight=0.07) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt1 = Button(win_2, text="清空数据",bg='#d3fbfb', command=self.Delete) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt1.place(relx=0.6, rely=0.05, relwidth=0.15, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose = Button(win_2, text='关闭',bg='#d3fbfb', command=win_2.destroy) | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose.place(relx=0.8, rely=0.05, relwidth=0.15, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt = Button(win_2, text="查询",bg='#d3fbfb', command=self.Search) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt.place(relx=0.27, rely=0.25, relwidth=0.15, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt2 = Button(win_2, text="确认",bg='#d3fbfb', command=lambda: self.Btt(c_text, d_text, e_text, f_text)) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt2.place(relx=0.7, rely=0.75, relwidth=0.15, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt = Text(win_2) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.place(relx=0.05, rely=0.4, relwidth=0.85, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt_2 = Text(win_2) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt_2.place(relx=0.6, rely=0.9, relwidth=0.3, relheight=0.05) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Delete(self): | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp1.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp2.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp3.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp6.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Search(self): | 
			
		
	
		
			
				
					|  |  |  |  |         firstname = self.inp1.get() | 
			
		
	
		
			
				
					|  |  |  |  |         lastname = self.inp2.get() | 
			
		
	
		
			
				
					|  |  |  |  |         if self.searchByID(trainlist, firstname) == False and self.searchByID2(trainlist, lastname) == False: | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.insert(END, '没有符合条件的火车!') | 
			
		
	
		
			
				
					|  |  |  |  |             self.inp1.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.inp2.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.insert(END, | 
			
		
	
		
			
				
					|  |  |  |  |                         "{0:^6}\t{1:{6}^6}\t{2:{6}^6}\t{3:{6}^6}\t{4:{6}^6}\t{5:{6}^6}\n".format("车次", "起点", "终点", "时间", | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                  "票价", "剩余票数", | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                  chr(12288))) | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.firstname == firstname or item.lastname == lastname: | 
			
		
	
		
			
				
					|  |  |  |  |                 self.txt.insert(END, | 
			
		
	
		
			
				
					|  |  |  |  |                                 "{0:^8}\t{1:{6}^6}\t{2:{6}^6}\t{3:^12}\t{4:^12}\t{5:^8}\n".format(item.ID, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                   item.firstname, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                   item.lastname, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                   item.time, item.price, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                   item.seating, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                                   chr(12288))) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.inp1.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.inp2.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID(self, trainlist, firstname): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.firstname == firstname: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID2(self, trainlist, lastname): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.lastname == lastname: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID3(self, trainlist, ID): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID4(self, trainlist, ID, seating): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID: | 
			
		
	
		
			
				
					|  |  |  |  |                 if int(item.seating) - int(seating) < 0: | 
			
		
	
		
			
				
					|  |  |  |  |                     return True | 
			
		
	
		
			
				
					|  |  |  |  |                 else: | 
			
		
	
		
			
				
					|  |  |  |  |                     item.seating = str(int(item.seating) - int(seating)) | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Btt(self, name, personID, ID, seating): | 
			
		
	
		
			
				
					|  |  |  |  |         man = Users() | 
			
		
	
		
			
				
					|  |  |  |  |         man.personID = str(personID.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         man.name = str(name.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         man.ID = str(ID.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID.get(): | 
			
		
	
		
			
				
					|  |  |  |  |                 man.time = str(item.time) | 
			
		
	
		
			
				
					|  |  |  |  |         man.seating = str(seating.get()) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         print(man.personID, man.name, man.ID, man.time, man.seating) | 
			
		
	
		
			
				
					|  |  |  |  |         if self.searchByID3(trainlist, man.ID) == False: | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt_2.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt_2.insert(END, '未找到对应火车! ') | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |         if self.searchByID4(trainlist, man.ID, man.seating): | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt_2.insert(END, '余票不足!') | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         people.append(man) | 
			
		
	
		
			
				
					|  |  |  |  |         man_object = open("man.txt", "a") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(man.personID) | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(man.name) | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(man.ID) | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(man.time) | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write(man.seating) | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.write("\n") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt_2.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt_2.insert(END, '订票成功') | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         changeID = str(ID.get()) | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == changeID: | 
			
		
	
		
			
				
					|  |  |  |  |                 # trainlist.remove(item) | 
			
		
	
		
			
				
					|  |  |  |  |                 file_object = open("train.txt", "w") | 
			
		
	
		
			
				
					|  |  |  |  |                 for tra in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(tra.ID) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(tra.firstname) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(tra.lastname) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(str(tra.time)) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(str(tra.price)) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(str(tra.seating)) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write("\n") | 
			
		
	
		
			
				
					|  |  |  |  |                 file_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |         return | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | class DEL:   | 
			
		
	
		
			
				
					|  |  |  |  |     def Del_f(self): | 
			
		
	
		
			
				
					|  |  |  |  |         roob = Toplevel(win) | 
			
		
	
		
			
				
					|  |  |  |  |         roob.title('火车信息删除') | 
			
		
	
		
			
				
					|  |  |  |  |         roob.geometry('500x240') | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb4 = Label(roob, text='请输入火车车次号:') | 
			
		
	
		
			
				
					|  |  |  |  |         lb4.place(relx=0, rely=0.2, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |         d_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         d_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4 = Entry(roob, textvariable=d_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.place(relx=0.3, rely=0.2, relwidth=0.2, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt = Button(roob, text="删除", command=self.Del) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt.place(relx=0.7, rely=0.2, relwidth=0.2, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose = Button(roob, text='关闭', command=roob.destroy) | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose.place(relx=0.7, rely=0.4, relwidth=0.2, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt = Text(roob) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.place(relx=0.05, rely=0.4, relwidth=0.5, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID(self, trainlist, ID): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Del(self): | 
			
		
	
		
			
				
					|  |  |  |  |         ID = self.inp4.get() | 
			
		
	
		
			
				
					|  |  |  |  |         if self.searchByID(trainlist, ID) == False: | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.insert(END, '没有该火车信息!') | 
			
		
	
		
			
				
					|  |  |  |  |             self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID: | 
			
		
	
		
			
				
					|  |  |  |  |                 trainlist.remove(item) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.txt.insert(END, '删除成功!') | 
			
		
	
		
			
				
					|  |  |  |  |                 self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |                 break | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         file_object = open("train.txt", "w") | 
			
		
	
		
			
				
					|  |  |  |  |         for tra in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(tra.ID) | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(tra.firstname) | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(tra.lastname) | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(str(tra.time)) | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(str(tra.price)) | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write(str(tra.seating)) | 
			
		
	
		
			
				
					|  |  |  |  |             file_object.write("\n") | 
			
		
	
		
			
				
					|  |  |  |  |         file_object.close() | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | class PBE: | 
			
		
	
		
			
				
					|  |  |  |  |     def Pbe_f(self): | 
			
		
	
		
			
				
					|  |  |  |  |         roob = Toplevel(win) | 
			
		
	
		
			
				
					|  |  |  |  |         roob.title('个人订票查询') | 
			
		
	
		
			
				
					|  |  |  |  |         roob.geometry('500x240') | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb4 = Label(roob, text='请输入您的ID:',bg='#d3fbfb') | 
			
		
	
		
			
				
					|  |  |  |  |         lb4.place(relx=0.1, rely=0.1, relwidth=0.2, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |         d_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         d_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4 = Entry(roob, textvariable=d_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.place(relx=0.3, rely=0.15, relwidth=0.3, relheight=0.1) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt = Button(roob, text="查询",bg='#d3fbfb', command=self.Search) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt.place(relx=0.75, rely=0.1, relwidth=0.15, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose = Button(roob, text='关闭',bg='#d3fbfb', command=roob.destroy) | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose.place(relx=0.75, rely=0.3, relwidth=0.15, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt = Text(roob) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.place(relx=0.1, rely=0.6, relwidth=0.8, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Search(self): | 
			
		
	
		
			
				
					|  |  |  |  |         personID = self.inp4.get() | 
			
		
	
		
			
				
					|  |  |  |  |         if self.searchByID(people, personID) == False: | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.insert(END, '没有订票信息!') | 
			
		
	
		
			
				
					|  |  |  |  |             self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.insert(END, | 
			
		
	
		
			
				
					|  |  |  |  |                         "{0:^5}\t{1:{5}^10}\t{2:{5}^5}\t{3:{5}^8}\t{4:{5}^6}\n".format("ID", "姓名", "车次号", "时间", | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                     "票数", chr(12288))) | 
			
		
	
		
			
				
					|  |  |  |  |         for item in people: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.personID == personID: | 
			
		
	
		
			
				
					|  |  |  |  |                 self.txt.insert(END, | 
			
		
	
		
			
				
					|  |  |  |  |                                 "{0:^5}\t{1:{5}^10}\t{2:{5}^8}\t{3:{5}^8}\t{4:{5}^7}\n".format(item.personID, item.name, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                        item.ID, item.time, | 
			
		
	
		
			
				
					|  |  |  |  |                                                                                        item.seating, chr(12288))) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID(self, people, personID): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in people: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.personID == personID: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | class GRT:  | 
			
		
	
		
			
				
					|  |  |  |  |     def Grt_f(self): | 
			
		
	
		
			
				
					|  |  |  |  |         roob = Toplevel(win) | 
			
		
	
		
			
				
					|  |  |  |  |         roob.title('个人退票') | 
			
		
	
		
			
				
					|  |  |  |  |         roob.geometry('400x160') | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb4 = Label(roob, text='请输入您的个人ID:') | 
			
		
	
		
			
				
					|  |  |  |  |         lb4.place(relx=0, rely=0.05, relwidth=0.4, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |         d_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         d_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4 = Entry(roob, textvariable=d_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp4.place(relx=0.4, rely=0.07, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         lb5 = Label(roob, text='请输入所退火车车次号:') | 
			
		
	
		
			
				
					|  |  |  |  |         lb5.place(relx=0, rely=0.25, relwidth=0.4, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |         e_text = StringVar() | 
			
		
	
		
			
				
					|  |  |  |  |         e_text.set("") | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5 = Entry(roob, textvariable=e_text) | 
			
		
	
		
			
				
					|  |  |  |  |         self.inp5.place(relx=0.4, rely=0.27, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt = Button(roob, text="退票", command=self.Del) | 
			
		
	
		
			
				
					|  |  |  |  |         self.bt.place(relx=0.6, rely=0.5, relwidth=0.3, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose = Button(roob, text='关闭', command=roob.destroy) | 
			
		
	
		
			
				
					|  |  |  |  |         self.btClose.place(relx=0.6, rely=0.7, relwidth=0.3, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt = Text(roob) | 
			
		
	
		
			
				
					|  |  |  |  |         self.txt.place(relx=0.1, rely=0.6, relwidth=0.4, relheight=0.2) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID(self, people, personID, trainID): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in people: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.personID == personID and item.ID == trainID: | 
			
		
	
		
			
				
					|  |  |  |  |                 return True | 
			
		
	
		
			
				
					|  |  |  |  |         return False | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def searchByID4(self, trainlist, ID, seating): | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == ID: | 
			
		
	
		
			
				
					|  |  |  |  |                 item.seating = str(int(item.seating) + int(seating)) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     def Del(self): | 
			
		
	
		
			
				
					|  |  |  |  |         global changeID_2 | 
			
		
	
		
			
				
					|  |  |  |  |         personID = self.inp4.get() | 
			
		
	
		
			
				
					|  |  |  |  |         trainID = self.inp5.get() | 
			
		
	
		
			
				
					|  |  |  |  |         if not self.searchByID(people, personID, trainID): | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             self.txt.insert(END, '没有订票信息!') | 
			
		
	
		
			
				
					|  |  |  |  |             self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |             return | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         for item in people: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.personID == personID and item.ID == trainID: | 
			
		
	
		
			
				
					|  |  |  |  |                 changeID_2 = item.ID | 
			
		
	
		
			
				
					|  |  |  |  |                 self.searchByID4(trainlist, item.ID, item.seating) | 
			
		
	
		
			
				
					|  |  |  |  |                 people.remove(item) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.txt.delete(1.0, END) | 
			
		
	
		
			
				
					|  |  |  |  |                 self.txt.insert(END, '退票成功!') | 
			
		
	
		
			
				
					|  |  |  |  |                 self.inp4.delete(0, END) | 
			
		
	
		
			
				
					|  |  |  |  |                 break | 
			
		
	
		
			
				
					|  |  |  |  |         man_object = open("man.txt", "w") | 
			
		
	
		
			
				
					|  |  |  |  |         for man in people: | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(man.personID) | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(man.name) | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(man.ID) | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(man.time) | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write(str(man.seating)) | 
			
		
	
		
			
				
					|  |  |  |  |             man_object.write("\n") | 
			
		
	
		
			
				
					|  |  |  |  |         man_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |         for item in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |             if item.ID == changeID_2: | 
			
		
	
		
			
				
					|  |  |  |  |                 file_object = open("train.txt", "w") | 
			
		
	
		
			
				
					|  |  |  |  |                 for tra in trainlist: | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(tra.ID) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(tra.firstname) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(tra.lastname) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(str(tra.time)) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(str(tra.price)) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(" ") | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write(str(tra.seating)) | 
			
		
	
		
			
				
					|  |  |  |  |                     file_object.write("\n") | 
			
		
	
		
			
				
					|  |  |  |  |                 file_object.close() | 
			
		
	
		
			
				
					|  |  |  |  |         return | 
			
		
	
		
			
				
					|  |  |  |  |      | 
			
		
	
		
			
				
					|  |  |  |  | def main(): | 
			
		
	
		
			
				
					|  |  |  |  |     b.destroy() | 
			
		
	
		
			
				
					|  |  |  |  |     win.title('火车订票系统') | 
			
		
	
		
			
				
					|  |  |  |  |     win.geometry('600x400+280+150') | 
			
		
	
		
			
				
					|  |  |  |  |     add = ADD() | 
			
		
	
		
			
				
					|  |  |  |  |     bt1 = Button(win, text="火车信息添加", command=add.Add_f,bg='#ff88ff') | 
			
		
	
		
			
				
					|  |  |  |  |     bt1.place(relx=0.35, rely=0.05, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     dela = DEL() | 
			
		
	
		
			
				
					|  |  |  |  |     bt2 = Button(win, text="火车信息删除", command=dela.Del_f,bg='#eb77fa') | 
			
		
	
		
			
				
					|  |  |  |  |     bt2.place(relx=0.35, rely=0.20, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     btt = BTT() | 
			
		
	
		
			
				
					|  |  |  |  |     bt3 = Button(win, text="个人订票", command=btt.Btt_f,bg='#fb66ff') | 
			
		
	
		
			
				
					|  |  |  |  |     bt3.place(relx=0.35, rely=0.35, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  |     pbe = PBE() | 
			
		
	
		
			
				
					|  |  |  |  |     bt4 = Button(win, text="订票查询", command=pbe.Pbe_f,bg='#fe55ef') | 
			
		
	
		
			
				
					|  |  |  |  |     bt4.place(relx=0.35, rely=0.50, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     grt = GRT() | 
			
		
	
		
			
				
					|  |  |  |  |     bt5 = Button(win, text="个人退票", command=grt.Grt_f,bg='#fe45ff') | 
			
		
	
		
			
				
					|  |  |  |  |     bt5.place(relx=0.35, rely=0.65, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     bt6 = Button(win, text="退出系统", command=win.destroy,bg='#ff22ff') | 
			
		
	
		
			
				
					|  |  |  |  |     bt6.place(relx=0.35, rely=0.80, relwidth=0.3, relheight=0.15) | 
			
		
	
		
			
				
					|  |  |  |  |   | 
			
		
	
		
			
				
					|  |  |  |  | Init(trainlist) | 
			
		
	
		
			
				
					|  |  |  |  | b = Button(win, text="欢迎使用火车订票系统", bg='#f6677f', fg='#d3fbfb', font=('华文新魏', 32), relief=SUNKEN, command=main, width=500, | 
			
		
	
		
			
				
					|  |  |  |  |            height=240) | 
			
		
	
		
			
				
					|  |  |  |  | b.pack() | 
			
		
	
		
			
				
					|  |  |  |  | win.mainloop() |