我正在尝试使用 Tkinter (Python 3.5) 创建文本输入对话框,但遇到一些问题。这是我的代码:
class TextEntryDialog:
def __init__(self, master):
self.top = Toplevel(master)
self.textField = Entry()
self.textField.pack()
root = Tk()
ted = TextEntryDialog(root)
root.mainloop()
当我运行这个程序时,我会得到一个对话框和一个主窗口,就像我想要的那样,但问题是当我关闭对话框时,主窗口也会关闭。我希望对话框关闭时主窗口保持打开状态,有人可以帮助我吗?
最佳答案
向窗口添加标题,您会看到
您将 Entry
添加到 MainWindow
。
您关闭了 MainWindow
,但您认为它是 TextEntryDialog
。
您必须在 Entry
中添加 self.top
(Toplevel
) 作为 parent
才能将其正确放置窗口。
self.textField = Entry(self.top)
.
from tkinter import *
class TextEntryDialog:
def __init__(self, master):
self.top = Toplevel(master)
self.top.title("TextEntryDialog")
self.textField = Entry(self.top) # parent
self.textField.pack()
root = Tk()
root.title("MainWindow")
ted = TextEntryDialog(root)
root.mainloop()
关于Python Tkinter - 关闭对话框而不关闭主窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044484/