티스토리 뷰

Tkinter tutorial

이것은 Tkinter 튜토리얼입니다. 파이썬에서 Tkinter로 GUI 프로그래밍의 기초를 다룹니다. 이 자습서는 초급 및 중급 프로그래머에게 적합합니다.

Tkinter는 Tk GUI 툴킷에 대한 파이썬 바인딩입니다. Tk는 Tcl 언어의 원래 GUI 라이브러리입니다. Tkinter는 파이썬 인터프리터에 내장 된 완전한 Tcl 인터프리터를 둘러싼 파이썬 래퍼로 구현된다.

첫 번째 예에서는 화면에 기본 창을 표시합니다.

from tkinter import Tk, BOTH
from tkinter.ttk import Frame

class Example(Frame):
  
    def __init__(self):
        super().__init__()
         
        self.initUI()
        
    
    def initUI(self):
      
        self.master.title("Simple")
        self.pack(fill=BOTH, expand=1)
        

def main():
  
    root = Tk()
    root.geometry("250x150+300+300")
    app = Example()
    root.mainloop()  


if __name__ == '__main__':
    main()   

이 코드는 매우 작지만 응용 프로그램 창은 상당히 많은 작업을 수행 할 수 있습니다. 크기 조정, 최대화 또는 최소화 할 수 있습니다. 함께 제공되는 모든 복잡성은 애플리케이션 프로그래머에게 숨겨져 있습니다.


from tkinter import Tk, BOTH
from tkinter.ttk import Frame

여기서 Tk와 Frame 클래스를 가져오고, BOTH 상수를 가져옵니다. Tk 클래스는 루트 윈도우를 만드는 데 사용됩니다. 프레임은 다른 위젯을 위한 컨테이너입니다.


class Example(Frame):
  
    def __init__(self):
        super().__init__()

예제 클래스는 Frame 컨테이너 위젯을 상속받습니다. __init __ () 생성자 메소드에서 우리는 상속 된 클래스의 생성자를 호출합니다.


self.initUI()

우리는 사용자 인터페이스의 생성을 initUI () 메소드에 위임한다.


self.master.title("Simple")

우리는 title () 메서드를 사용하여 창의 제목을 설정합니다. 마스터 속성은 루트 윈도우 (Tk)에 대한 액세스를 제공합니다.


self.pack(fill=BOTH, expand=1)

pack () 메소드는 Tkinter의 3 개의 지오메트리 매니저 중 하나입니다. 위젯을 가로 및 세로 상자로 구성합니다. 여기에서는 self 속성을 통해 Tk 루트 창에 액세스하는 프레임 위젯을 배치합니다. 그것은 두 방향으로 확장됩니다. 즉, 루트 창의 전체 클라이언트 공간이 필요합니다.



root = Tk()

루트 창이 작성됩니다. 루트 창은 프로그램의 주요 응용 프로그램 창입니다. 제목 표시 줄과 테두리가 있습니다. 이것은 창 관리자가 제공합니다. 다른 위젯보다 먼저 만들어야합니다.


root.geometry("250x150+300+300")

geometry () 메서드는 창의 크기를 설정하고 화면에 배치합니다. 처음 두 매개 변수는 창의 너비와 높이입니다. 마지막 두 매개 변수는 x 및 y 화면 좌표입니다.


app = Example()

여기서 우리는 애플리케이션 클래스의 인스턴스를 생성한다.


root.mainloop() 

마지막으로 mainloop을 입력합니다. 이 시점부터 이벤트 처리가 시작됩니다. 메인 루프는 윈도우 시스템으로부터 이벤트를 받아서 어플리케이션 위젯으로 보낸다. 제목 표시 줄의 닫기 버튼을 클릭하거나 quit () 메서드를 호출하면 종료됩니다.

댓글
최근에 달린 댓글
글 보관함
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Total
Today
Yesterday
    뽀로로친구에디
    최근에 올라온 글