这是我的第一个问题,我是python和这个网站的新手。在
我正在设计一个与数据库交互的应用程序。我添加了一个“关闭”按钮,我想打开一个新窗口,询问“关闭程序?”和2个按钮:是和否。单击“否”时,新窗口关闭。单击“是”时,两个窗口都将关闭。在
我让我的代码工作,但我很确定有一个更好或更聪明的方法。在
为了让它成功,我不得不写下根目录。销毁()“在“关闭窗口”方法中,但我很确定有一种更聪明的方法可以使用类似的方法获得相同的结果”自我毁灭()“它使用了python的所有功能。下面我展示了一个简化的代码版本。在
提前谢谢。在
阿方索from tkinter import *
class Window():
def __init__(self, main):
self.main = main
self.b5=Button(self.main, text="Action 1", width=12)
self.b5.grid(row=0, column=1)
self.b5=Button(self.main, text="Action 2", width=12)
self.b5.grid(row=0, column=2)
self.b6=Button(self.main, text="Close", width=12, command=self.new_window)
self.b6.grid(row=0, column=3)
def new_window(self):
self.newWindow = Toplevel(self.main)
self.app = Demo2(self.newWindow)
def close_window(self):
root.destroy()
class Demo2:
def __init__(self, master):
self.master = master
self.frame = Frame(self.master)
self.l1=Label(self.frame, text="Close the program?")
self.l1.grid(row=0, column=0, columnspan=2)
self.b1=Button(self.frame, text="Yes", command=self.yes_com)
self.b1.grid(row=1, column=0)
self.b1=Button(self.frame, text="No", command=self.no_com)
self.b1.grid(row=1, column=1)
self.frame.pack()
def yes_com(self):
self.master.destroy()
Window.close_window(self)
def no_com(self):
self.master.destroy()
def main():
global root
root = Tk()
app = Window(root)
root.mainloop()
if __name__ == '__main__':
main()