파이썬 윈도우 실행 상태에서 버튼 바꾸기 질문입니다

조회수 393회
from tkinter import *
window=Tk()

button1=Button(window, text="버튼1")
button2=Button(window, text="버튼2")
button3=Button(window, text="버튼3")
button4=Button(window, text="버튼4")

button1.pack()
button2.pack()
button3.pack()
button4.pack()

window.mainloop()

실행후 나오는 버튼 하나를 누르고 또 다른 버튼을 눌렀을때, 두번째로 누른 버튼이 첫번째로 누른 버튼과 같은 버튼으로 만들 수 있는 방법이 있는지 알고 싶습니다

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • Tkinter는 모르겠지만 일반적으로 두 가지 접근법이 있습니다.

    1. 버튼 자체를 바꿔치기. 두번째 버튼이 있던 자리에서 그 버튼을 뽑아내고 첫번째 버튼 또는 첫번째 버튼과 같은 기능을 하는 새로운 버튼을 집어넣습니다.
    2. 버튼의 기능을 변경하기. 이건 코드로 설명하는 게 빠르겠군요.
    def btnfunc1() :
        # 어쩌구 저쩌구
    def btnfunc2() :
        # 이러쿵 저러쿵
    
    # 2번 버튼의 원래 기능은 초기에 지정된 상태다
    btn2.pushed = btnfunc2
    
    # 이후 조건부로
    if (btn2.push()) :
    
        # 그 기능을 다른 걸로 지정하고 실행한다
        btn2.pushed = btnfunc1
        btnfunc1()
    

    정답은 없는데 한번 잘 고민해 보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)