python tkinter모듈 Label의 textvariable 오류...
조회수 1183회
import tkinter
window=tkinter.Tk() window.title("Composing Program") window.geometry("700x700+0+0") window.resizable(False, False)
o=4 def octaveDown(): global o o-=1 def octaveUp(): global o o+=1
down=tkinter.Button(window, text="<", command=octaveDown) octave=tkinter.Label(window, textvariable=int(o), bg="white") up=tkinter.Button(window, text=">", command=octaveUp)
down.place(x=425, y=30) octave.place(x=450, y=33) up.place(x=469, y=30)
octave Label에 초기값 4를 표시하고, up 버튼을 누르면 1 더해주고, down 버튼을 누르면 1 빼주고 싶습니다. 파이썬 초보라 마구잡이로 넣어봤는데 역시 안되네요... 흰 라벨은 표시되지만 textvariable에 넣어준 변수에 해당하는 값이 나오지 않습니다. 도와주세요...
추가적으로 Label에 표시되는 값에 따라서, 더 추가할 버튼에서 나는 음의 주파수를 다르게 할 계획입니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
안녕하세요 :-)
어떤 걸 하고 싶으신 건지는 알겠습니다. 근데 저 알아보기 힘든, 포매팅이 하나도 안들어간 코드에 최소한 markdown으로
python
몇자만 넣어주셨다면... 아쉽습니다. T_T밑에 처럼 하고 싶으신거죠? (python2.7.x)
import tkinter window=tkinter.Tk() window.title("Composing Program") window.geometry("700x700+0+0") window.resizable(False, False) o=4 def octaveDown(): global o; o-=1 octave['text'] = o # 여기가 추가됬습니다. octave.place(x=450, y=33) def octaveUp(): global o; o+=1 octave['text'] = o # 여기가 추가됬습니다. octave.place(x=450, y=33) down=tkinter.Button(window, text="<", command=octaveDown) octave=tkinter.Label(window, text=int(o), bg="white") up=tkinter.Button(window, text=">", command=octaveUp) down.place(x=425, y=30) octave.place(x=450, y=33) up.place(x=469, y=30) window.mainloop() # 이거 빠뜨리셨구요.
CtrlC+CtrlV 해서 IDLE에 넣고 F5 눌러보시면 확인하실 수 있으실 겁니다.
이게 물론 원하시는대로 돌아는 가는 코드일지언정... 좋은 모양새는 아닙니다. 나머지는 직접 연구해보시길 바래요...
감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력