저는 파이썬에서 초보자이며 TkInter를 사용하여 GUI를 만들려고합니다. 내가 가지고있는 문제는 입력 텍스트를 표시하려고 할 때입니다. 아래는이 작업을 위해 만든 두 가지 기능입니다. 내 코드에 뭔가 빠졌습니까? 내가 문자열을 표시 할TkInter 입력 위젯에서 문자열 가져 오기
def getArea():
x1 = StringVar()
x2 = StringVar()
y1 = StringVar()
y2 = StringVar()
#coor x1
labelX1 = Label(input, text="X: ").grid(row=1, column=1)
entryX1 = Entry(input, width=8, textvariable=x1).grid(row=1, column=2)
#coor x2
labelY1 = Label(input, text="Y: ").grid(row=2, column=1)
entryY1 = Entry(input, width=8, textvariable=y1).grid(row=2, column=2)
#coor y1
labelX2 = Label(input, text="X: ").grid(row=1, column=3)
entryX2 = Entry(input, width=8, textvariable=x2).grid(row=1, column=4)
#coor y2
labelY2 = Label(input, text="Y: ").grid(row=2, column=3)
entryY2 = Entry(input, width=8, textvariable=y2).grid(row=2, column=4)
x1.set("Defalut value x1")
x2.set("Defalut value x2")
y1.set("Defalut value y1")
y2.set("Defalut value y2")
coorx1 = x1.get()
coorx2 = x2.get()
coory1 = y1.get()
coory2 = y2.get()
button = Button(input, text='ok',command=lambda: showResults(coorx1,coorx2,coory1,coory2)).grid(row=1, column=5)
exitButton = Button(input, text='exit', command=input.destroy).grid(row=2,column=5)
input.mainloop()
이 내 두 번째 기능입니다 :
이 내가 엔트리 위젯을 만들어 내 첫 번째 기능입니다
해결해야 할 많은 것들이 있습니다def showResults(x1,x2,y1,y2):
showInfo = Tk()
showInfo.title("Location Temperature")
showInfo.geometry("270x100+470+320")
print x1, x2, y1, y2
info1 = Label(showInfo, text=x1).pack()
info2 = Label(showInfo, text=x2).pack()
info3 = Label(showInfo, text=y1).pack()
info4 = Label(showInfo, text=y2).pack()
buttonClose = Button(showInfo, text='exit', command=showInfo.destroy).pack(side= RIGHT)
showInfo.mainloop()
"버튼"을 눌러 다른 창을 열면 오류가 발생합니다. 아무 것도 표시하지 않고 "기본값"만 표시합니다. 나는이 "디폴트 값"없이 이것을 시도하고 아무 것도 얻지 못했다. – user1661865
전체 코드입니까? – Tadgh