Tkinter 에서 버튼을 클릭하여 새 창을 만드는 방법

이 튜토리얼에서는 Tkinter 의 버튼을 클릭하여 새 Tkinter 창을 만들고 여는 방법을 보여줍니다.

새로운 Tkinter 창 만들기

import tkinter as tk

def createNewWindow():
    newWindow = tk.Toplevel(app)

app = tk.Tk()
buttonExample = tk.Button(app, 
              text="Create new window",
              command=createNewWindow)
buttonExample.pack()

app.mainloop()

우리는 일반적으로 tk.Tk()를 사용하여 새로운 Tkinter 창을 만들지 만, 위의 코드와 같이 루트 창을 이미 만든 경우에는 유효하지 않습니다.

ToplevelToplevel위젯이 추가 ‘팝업’창을 표시하기 때문에이 상황에 적합한 위젯입니다.

buttonExample = tk.Button(app, 
              text="Create new window",
              command=createNewWindow)

createNewWindow 함수를 버튼에 바인딩합니다.

위의 예에서 새 창은 빈 창이며 일반 루트 창에 위젯을 추가하는 것처럼 위젯을 더 추가 할 수 있지만 부모 위젯을 생성 된 ‘최상위’창으로 변경해야합니다.

import tkinter as tk

def createNewWindow():
    newWindow = tk.Toplevel(app)
    labelExample = tk.Label(newWindow, text = "New Window")
    buttonExample = tk.Button(newWindow, text = "New Window button")

    labelExample.pack()
    buttonExample.pack()

app = tk.Tk()
buttonExample = tk.Button(app, 
              text="Create new window",
              command=createNewWindow)
buttonExample.pack()

app.mainloop()

보다시피 labelExamplebuttonExample 은 부모 위젯을 newWindow 로 지정하지만 app 는 갖지 않습니다.

관련 문장 - Tkinter Button

  • Tkinter 버튼 상태를 변경하는 방법
  • Tkinter 버튼 크기를 변경하는 방법