从tkinter获取输入,然后关闭窗口

时间:2017-04-03 08:31:34

标签: python tkinter tk

我有两个python文件,一个用于存储代码inputData.py,另一个用于存储主文件main_project.py。

在inputData中我有这段代码:

class Prompt(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.entry = tk.Entry(self)
        self.button = tk.Button(self, text="Get", command=self.on_button)
        self.button.pack()
        self.entry.pack()

    def on_button(self):
        self.inputDt = self.entry.get()

在main_project中我有这段代码:

from inputData import Prompt
promptData = Prompt()
promptData.mainloop()

class Hearing(object):
    numberBirths = promptData.inputDt

我要做的是从tkinter中的输入中为值numberBirths赋值,在我这样做之后,我需要提示关闭并继续其余的代码。 你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用.quit().destroy()方法:

inputData.py

import tkinter as tk

class Prompt(tk.Tk):
    def __init__(self):
        self.answer = None
        tk.Tk.__init__(self)
        self.entry = tk.Entry(self)
        self.button = tk.Button(self, text="Get", command=self.on_button)
        self.button.pack()
        self.entry.pack()

    def on_button(self):
        self.answer = self.entry.get()
        self.quit()

main_project.py

from inputData import Prompt

class Hearing(object):
    def __init__(self):
        promptData = Prompt()
        promptData.mainloop()
        promptData.destroy()
        self.numberBirths = promptData.answer
        print("Births:", self.numberBirths)
        # do something else with self.numberBirths

Hearing()

答案 1 :(得分:0)

您的条目窗口小部件没有使用get和set函数的文本变量
请在入场前添加以下内容 通过插入textvariable

来编辑条目()
input_var=0
self.entry = tk.Entry(self,textvariable=input_var)