无法使用Python

时间:2016-09-30 14:46:19

标签: python function tkinter

我正在使用Python中的函数,虽然我可以使用Tkinter从Java执行JOptionPane ...我正在运行Python 3.x但是我遇到了一些麻烦< / p>

from tkinter import *

def showMessageDialog(text):
    text = text
    janela = Tk()
    janela.geometry("400x100")
    janela["bg"] = "grey"
    janela.title(" ")
    lb = Label(janela, text=str(text))
    lb.place(x=200,y=50)
    janela.mainloop()


def showInputDialog(text):
    x = " "
    def botaoClicado():
            x = ed.get()
            janela.destroy()
            return x

    text = str(text)
    janela = Tk()
    janela.geometry("400x100")
    janela["bg"] = "grey"
    janela.title(" ")

    lb = Label(janela, text=str(text))
    lb.place(x=120,y=10)

    bt = Button(janela, width=10, text="Ok", command=botaoClicado)
    bt.place(x=120,y=65)

    ed = Entry(janela)
    ed.place(x=120,y=35)

    janela.mainloop()

    return x

x=0
x = showInputDialog("Insira seu nome!")

对不起,这是葡萄牙语,但我认为你们可以帮助我。我的问题如下:

当我点击按钮时,条目不会返回到其他功能。我道歉但我不知道如何更好地解释。

1 个答案:

答案 0 :(得分:0)

在所有tkinter Windows关闭之前,对mainloop的调用不会停止。因此,当您致电janela.mainloop()时,您的功能会挂起。相反,最好在主线程(脚本底部)中调用mainloop,并使用回调来处理输入。例如,一旦您的消息对话框得到答案,它就可以调用一个函数来处理答案。