from tkinter import *
from tkinter.messagebox import *
from random import *
class app:
def __init__(self, master):
self.master = master
self.sv1 = StringVar()
self.random_number = None
self.ycz_windows = []
self.l1 = Label(self.master, text='请输入下限')
self.l2 = Label(self.master, text='请输入上限')
self.l3 = Label(self.master, textvariable=self.sv1)
self.l4 = Label(self.master, text='演草纸->')
self.l5 = Label(self.master, text='生成器\nBeta 2.5')
self.e1 = Entry(self.master, width=10)
self.e2 = Entry(self.master, width=10)
self.b = Button(self.master, text='生成数字', command=self.GRN)
self.b2 = Button(self.master, text='退出程序', command=quit)
self.b3 = Button(self.master, text=' 纸 ', command=self.YCZ)
self.b4 = Button(self.master, text='删便签内容', command=self.delete_YCZ)
self.b5 = Button(self.master, text='关闭便签', command=self.close_all_YCZ)
self.b6 = Button(self.master, text='勿触', command=self.DND)
self.l1.grid(row=1, column=1)
self.l2.grid(row=2, column=1)
self.l4.grid(row=3, column=1)
self.l5.grid(row=1, column=5)
self.e1.grid(row=1, column=2)
self.e2.grid(row=2, column=2)
self.b.grid(row=1, column=3)
self.l3.grid(row=2, column=3)
self.b2.grid(row=1, column=4)
self.b3.grid(row=3, column=2)
self.b4.grid(row=3, column=3)
self.b5.grid(row=3, column=4)
self.b6.grid(row=3, column=5)
def MSG(self):
showinfo(title=None, message=self.random_number)
def YCZ(self):
window = Toplevel(self.master)
window.title('演草纸')
window.geometry('350x275')
text_area = Text(window, height=500)
text_area.pack()
self.ycz_windows.append((window, text_area))
def delete_YCZ(self):
for window, text_area in self.ycz_windows:
text_area.delete(1.0, END)
def close_all_YCZ(self):
while self.ycz_windows:
window, text_area = self.ycz_windows.pop()
window.destroy()
def GRN(self):
try:
lower_limit = int(self.e1.get())
upper_limit = int(self.e2.get())
if upper_limit <= 0:
raise ValueError("上限需为正整数")
elif lower_limit <= 0:
raise ValueError("下限需为正整数")
self.random_number = randint(lower_limit, upper_limit)
self.sv1.set(str(self.random_number))
self.MSG()
except ValueError as e:
showerror("输入错误", "请输入有效的整数下限和上限")
def DND(self):
d_n_d = Toplevel(self.master)
d_n_d.geometry('75x75')
d_n_d.title('关不掉了吧')
d_n_d.protocol("WM_DELETE_WINDOW", self.master)
dndB1 = Button(d_n_d, text='点我', command=None)
dndB2 = Button(d_n_d, text='点我', command=d_n_d.destroy)
dndB3 = Button(d_n_d, text='别点', command=self.DND)
dndB4 = Button(d_n_d, text='点我', command=self.DND)
dndB5 = Button(d_n_d, text='别点', command=self.DND)
dndB6 = Button(d_n_d, text='点我', command=self.DND)
dndB1.grid(row=1, column=1)
dndB2.grid(row=2, column=1)
dndB3.grid(row=1, column=2)
dndB4.grid(row=2, column=2)
dndB5.grid(row=1, column=3)
dndB6.grid(row=2, column=3)
def loop():
if __name__ == '__main__':
root = Tk()
root.geometry('450x130')
root.title("生成器vBeta 2.5")
app(root)
root.mainloop()
loop()