저는 Dialog라는 이름의 간단한 클래스를 만들고 있습니다. 초기화 메서드가 이미 완료되었을 때만 반환하고 싶습니다.Tkinter 이벤트로 스크립트를 일시 중지하는 방법은 무엇입니까?
from tkinter import *
class Dialog:
def __set_data(self):
self.data = self.entry_.get()
self.top.destroy()
def __init__(self, prompt_text = "Prompt:", submit_text = "OK", text_size = 5, button_size = 5, main_window = Tk()):
main_window.withdraw()
top = self.top = Toplevel(main_window)
Label(top, text=prompt_text).pack()
self.entry_ = Entry(top)
self.entry_.pack(padx = text_size)
button = Button(top, text = submit_text, command = self.__set_data)
button.pack(pady=button_size)
def get_data(self):
return self.data
data = 0
a = Dialog();
print (a.get_data())
이 코드를 실행하면 출력이 0이됩니다. 사용자 입력 후 출력 만 표시하고 싶습니다. 어떻게해야합니까?
미안하지만, 파이썬에 새로 온 사람과 나의 모국어가 영어가 아닌. 추가 할 정확한 코드를 질문에 추가 할 수 있습니까? –
나는 무엇을 해야할지 모른다! –
@LucasHenrique 처음에는'__set_data' 메쏘드에서 데이터를 출력하려고 시도 할 수있었습니다. 그보다 더 복잡한 것에 대해서는, Tk의 이벤트/콜백이 어떻게 작동하는지에 대한 꽤 좋은 개요를 제공하기 때문에 내가 링크 된 effbot 기사를 살펴볼 가치가 있습니다. – sapi