사용자가 2 점의 위치를 입력 할 수 있도록 tkinter 창을 여는 함수를 만들려고합니다. Matlab의 inputdlg 함수와 유사합니다.파이썬에서 tkinter를 사용하는 입력 대화 상자
"GUI"에는 클릭시 "입력란"이 닫히고 점을 가져 오는 버튼이 있습니다.
지금까지 창을 만들 수 있었지만 포인트를 검색 할 수 없습니다. 대신을 입력하면 인쇄을 선택하면 실행됩니다.
코드에 어떤 문제가 있는지 알려주실 수 있습니까? 댓글에서 지적
import tkinter as tk
root=tk.Tk() # this will create the window
def get_value(event):
fpoint=int(entry1.get()) # Gets point 1
lpoint=int(entry2.get()) # Gets point 2
points=[fpoint,lpoint]
root.destroy() # destroys Gui
return(points) # Gets the points
box1=tk.Label(root, text="First point") # Label of box 1
entry1=tk.Entry(root) # Box 1
box2=tk.Label(root, text="Last point") # Label of box 2
entry2=tk.Entry(root) # box 2
Done_button=tk.Button(root, name="done") #Button to terminate the "gui"
Done_button.bind("<Button-1>",get_value) # Run function "get_value" on click
box1.grid(row=1, sticky="W",padx=4) # position of label for box1
entry1.grid(row=1,column=1,sticky="E", pady=4) # position of box 1
box2.grid(row=2, sticky="W",padx=4) # position of label for box2
entry2.grid(row=2,column=1,sticky="E", pady=4) # position of box2
Done_button.grid(row=3,column=1) # position of "button
root.mainloop()
이벤트 처리기를 반환 할 수 없습니다. 그들이 어디로 돌아 가야합니까? 대신 상태를 수정해야합니다. 글로벌이 아닌 베스트. 또한 버튼에 명령 인수를 사용할 수있는 bind를 불필요하게 사용합니다. – deets