我正在使用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!")
对不起,这是葡萄牙语,但我认为你们可以帮助我。我的问题如下:
当我点击按钮时,条目不会返回到其他功能。我道歉但我不知道如何更好地解释。
答案 0 :(得分:0)
在所有tkinter Windows关闭之前,对mainloop的调用不会停止。因此,当您致电janela.mainloop()
时,您的功能会挂起。相反,最好在主线程(脚本底部)中调用mainloop,并使用回调来处理输入。例如,一旦您的消息对话框得到答案,它就可以调用一个函数来处理答案。