아주 간단한 예로 레이블만을 가지고 있는 윈도우를 작성해봅시다. 레이블(label)은 텍스트를 표시하는 위젯입니다.
위젯(widget: window gadget의 준말)이란 윈도우와 같은 GUI 기반 운영체제에서 많이 사용하는 각종 시각적인 요소를 말합니다.
대표적으로 버튼이나 레이블, 텍스트 필드, 메뉴 등을 들 수 있습니다. 레이블은 사용자가 볼 수 있지만 상호작용할 수는 없습니다.

화면에 윈도우를 하나 생성하고 여기에 "Hello World"를 표시하는 레이블을 배치합니다.
from tkinter import *
window = Tk()
label = Label(window, text = "Hello World!")
label.pack()
window.mainloop()
<실행 결과>

처음 나온 tkinter 프로그램이므로 한 줄씨 자세히 분석해봅시다.
제일 먼저 해야 할 일은 tkinter 모듈을 포함시키는 것입니다. tkinter 모듈은 파이썬 기본 패키지에 포함되어 있습니다.
tkinter 모듈은 Tk 툴릿을 사용하는데 필요한 모든 클래스와 함수를 가지고 있습니다. 일반적인 경우에는 tkinter 모듈에서 모든 것을 포함시키면 됩니다.
파이썬 2.x 버전에서는 모듈 이름이 Tkinter로 되어 있습니다.
그 다음으로 루트 윈도우를 생성하여야 합니다. tkinter 모듈 안에 있는 Tk 클래스가 윈도우를 나타냅니다.
Tk 클래스는 제목을 가지고 있는 일반적인 윈도우입니다. Tk 클래스의 객체를 생성하면 화면에 하나의 윈도우가 생성됩니다.
이 윈도우 안에 여러 가지 위젯을 추가할 수 있습니다. 각 프로그램은 오직 하나의 루트 윈도우를 가져야 합니다.
루트 윈도우는 다른 위젯보다 먼저 생성되어야 합니다.
다음으로 우리는 루트 윈도우의 자식으로 레이블 위젯을 생성합니다. 레이블 위젯은 텍스트나 이미지를 표시할 수 있는 위젯입니다.
여기서는 텍스트 "Hello, world!"을 표시합니다.
위젯에 대하여 pack() 메소드가 호출됩니다. pack()은 텍스트를 표시할 정도로만 레이블 위젯의 크기를 축소하라는 의미입니다.
pack()이 호출되어야 위젯이 화면에 나타납니다.
pack()이 호출되면 위젯이 화면에 나타납니다. 하지만 윈도우는 우리가 tkinter의 이벤트 루프에 들어가기 전까지는 나타나지 않습니다.
이 프로그램은 우리가 윈도우를 닫을 때까지, 이벤트 루프에서 대기합니다. 이벤트 루프는 사용자로부터 오는 마우스나 키보드 이벤트 뿐만 아니라 윈도우 시스템에서 오는 여러 가지 이벤트도 함께 처리합니다.
또 tkinter 자신에 의하여 큐에 넣어지는 이벤트도 처리합니다. 예를 들면 배치 관리 이벤트가 그것입니다.
우리의 프로그램에서 pack() 메소드가 배치 관리 이벤트를 추가합니다. 따라서 프로그램이 메인 루프에 진입하기 전까지는 화면에 윈도우가 나타나지 않을 것입니다.
