Python Tkinter - 关闭对话框而不关闭主窗口

标签 python tkinter

我正在尝试使用 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()

当我运行这个程序时,我会得到一个对话框和一个主窗口,就像我想要的那样,但问题是当我关闭对话框时,主窗口也会关闭。我希望对话框关闭时主窗口保持打开状态,有人可以帮助我吗?

最佳答案

向窗口添加标题,您会看到

enter image description here

您将 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/

相关文章:

python - 在进行网络编程时,是否有经验法则来确定使用多少个线程?

python - 在 Python 中解析 TCL 列表

python - 如何像在 Python 2.7 上一样快地获取此 Python 3 代码?

python - 在 tkinter 中关闭窗口之前执行某个命令

python - 有上行字符吗? (与\n相反)

python - 如何在 Google Colab 中编辑和保存文本文件 (.py)?

python - 我如何在 tkinter 中获取标签的当前宽度

python Tkinter 将文本显示为超链接

python - ubuntu 16.4 上的 tkinter 导入错误

python - Tkinter 警告消息中的 "do not show message again"复选框