Я играю с функциями в Python и я, хотя я мог бы сделать JOptionPane из Java с помощью Tkinter ... Я запускаю Python 3.x, но у меня есть небольшая проблемаНевозможно изменить переменную с помощью функции Python
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!")
Прошу прощения, что это на португальском языке, но я думаю, что вы, ребята, можете мне помочь. Моя проблема заключается в следующем:
Когда я нажимаю кнопку, запись не возвращается к другой функции. Прошу прощения, но я не знаю, как я могу объяснить лучше.
Если вы хотите установить глобальную переменную x, вы можете добавить 'global x' в начало функции, которая будет изменять x. или если вы хотите, чтобы «botaoClicado» изменял переменную во внешней области «showInputDialog», вы можете добавить «нелокальное x» к ее определению. Когда кнопка нажата пользователем, возвращаемое значение обратного вызова не используется ни для чего. –
Так оно и было, большое спасибо! xD –