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

Jinku Hu 2020년6월25일
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 는 갖지 않습니다.

작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - Tkinter Button