본문 바로가기

코딩/파이썬 tkinter

[Tkinter] 3장. tkinter.Tk

tkinter.Tk()

 

Tkinter를 이용해 나만의 GUI 애플리케이션을 만드는 첫번째는 윈도우 창을 만들어 보는 것입니다. 물론 어떤 목적의 GUI 프로그램을 만들 것인가는 본 글에선 다루지 않기로 합니다.

 

아래의 코드를 작성하여 실행하면, 모니터의 왼쪽 상단에 새로운 창이 표시될 것입니다.

 

import tkinter as tk

if __name__ == '__main__':
    win = tk.Tk()
    win.mainloop()

 

Hello, my window!

 

1) 윈도우 창을 만들어 화면에 표시하기 위해선, 우선 tkinter 패키지를 import합니다.

2) 윈도우 창을 만들기 위해 클래스 Tk의 객체인 win을 생성합니다.

3) 클래스 Tk의 메서드인 mainloop를 호출합니다. (mainloop 메서드는 Tk가 상속하는 Misc 클래스에 정의되어 있는 메서드)

 

class Tk(Misc, Wm):
    """Toplevel widget of Tk which represents mostly the main window
    of an application. It has an associated Tcl interpreter."""

 

화면에 표시되는 윈도우 창 관련 여러 설정이 있겠지만 기본적인 윈도우 아이콘, 윈도우 제목, 윈도우 크기 등을 변경해 보겠습니다.

 

import tkinter as tk

if __name__ == '__main__':
    win = tk.Tk()

    win.iconbitmap('pygame.ico')
    win.title('Python / tkinter.Tk')
    win.geometry('320x240+600+300')  # <width>x<height>+<x>+<y>
    win.resizable(True, True)        # boolean, boolean
    win.minsize(220, 140)            # width, height
    win.maxsize(420, 340)            # width, height

    tk.Label(win, text='Tkinter ' + str(tk.TclVersion)).pack()
    tk.Label(win, text='Tcl Version ' + str(tk.TclVersion)).pack()
    tk.Label(win, text='Tk Version ' + str(tk.TkVersion)).pack()

    win.mainloop()

 

 

1) iconbitmap를 통해 윈도우의 아이콘을 변경할 수 있습니다. (pygame 아이콘은 pygame 패키지 별도 설치 후 ./Lib/site-packages/pygame 폴더에서 가져옴)

 

pygame.ico
0.14MB

 

2) title을 통해 윈도우 제목을 정의할 수 있습니다.

3) geometry를 통해 처음 표시되는 윈도우 가로, 사로 크기를 정의할 수 있습니다. 또한 화면에 표시되는 위치(왼쪽 상단인 (0, 0) 위치를 기준으로함)를 정의할 수 있습니다.

4) resizable을 통해 윈도우의 크기를 변경 불가하게 정의할 수 있습니다.

5) mimsize 및 maxsize를 통해 윈도우의 크기 조절을 제한할 수 있습니다.

6) tkinter.Label 위젯에 대한 설명은 다른 글에서 다루기로 합니다.

 

'코딩 > 파이썬 tkinter' 카테고리의 다른 글

[Tkinter] 6장. Label (ttk)  (0) 2020.11.06
[Tkinter] 5장. Label  (0) 2020.11.05
[Tkinter] 4장. Tk를 상속하는 MainWin 클래스  (0) 2020.11.05
[Tkinter] 2장. tkinter/ttk 구성 클래스  (0) 2020.11.02
[Tkinter] 1장. tkinter  (0) 2020.10.30