본문 바로가기
728x90

GUI18

[Tkinter] 18. 이벤트 바인딩 Event Binding Tkinter의 이벤트 바인딩 커맨드 바인딩은 command 옵션을 제공하는 일부의 위젯에서만 가능하다. 이 외의 위젯에서도 이벤트 처리가 필요할 수 있다. 이를 위해 사용하는 것이 이벤트 바인딩이다. Tkinter는 bind() 함수를 제공하여 커맨드 바인딩이 되지 않는 위젯에 대한 이벤트 처리를 가능하게 만들어 준다. bind 함수 일반적은 문법은 다음과 같다. widget.bind(event, handler) widget에서 event에 지정한 이벤트가 발생하면 handler에 지정한 함수가 실행된다. 이벤트 패턴 Tkinter는 이벤트 패턴을 사용해 이벤트를 정의한다. 일반적인 패턴은 다음과 같다. 0개 이상의 modifier, type, detail의 조합으로 구성된다. modifier, typ.. 2024. 2. 22.
[Tkinter] 17. 커맨드 바인딩 Command Binding Tkinter의 커맨드 바인딩 애플리케이션을 좀 더 동적으로 만들기 위해서 위젯들은 마우스 클릭, 키보드 키 입력과 같은 이벤트에 반응해야 한다. 이를 위해서는 특정 이벤트에 콜백 함수를 할당하는 것이 필요하다. 이벤트가 발생하면 콜백이 자동으로 호출되어 이벤트를 호출하게 된다. Tkinter는 일부 위젯에서 커맨드 바인딩을 사용하여 이벤트에 대한 콜백 함수를 연결할 수 있다. 위젯의 command 옵션에 함수를 넣어서 위젯에서 이벤트가 발생했을 때 해당 함수가 자동적으로 호출되도록 한다. 커맨드 바인딩은 아래의 과정으로 진행된다. 1. 콜백 함수를 정의한다 2. 위젯의 command 옵션에 함수를 할당한다. 예를 들어 Button 위젯은 아래의 코드와 같이 작성하게 된다. ttk.Button(root,.. 2024. 2. 21.
[Tkinter] 16. 프로그레스바 Progressbar 위젯 프로그레스바 Progressbar 프로그레스바 위젯은 사용자에게 진행 상황을 알려주는 위젯이다. p = ttk.Progressbar([부모], orient=[수직 또는 수평], length=[길이], mode='[모드]') 구성 옵션 orient 수평, 수직을 정하는 옵션 수평은 HORIZONTAL, 수직은 VERTICAL length 위젯의 길이 mode 시작부터 마지막까지 쭉 길게 표시되는 determinate 모드는 마지막이 예측 가능할 때 사용하고, 짧은 표시가 시작과 마지막을 왔다갔다하는 indeterminate 모드는 마지막을 예측할 수 없을 때 사용한다. 참조 https://tkdocs.com/tutorial/morewidgets.html#progressbar https://tcl.tk/ma.. 2024. 2. 19.
[Tkinter] 15. 스핀박스 Spinbox 위젯 스핀박스 Spinbox 스핀박스 위젯은 사용자가 숫자, 항목 등을 단계적으로 선택할 수 있게 해주는 위젯이다. s = ttk.Spinbox([부모], from_=[시작값], to=[마지막값], textvariable=[변수]) 구성 옵션 from_, to 시작 값, 마지막 값 from이 아닌 from_인 것에 주의하자. textvariable 값을 저장할 변수 참조 https://tkdocs.com/tutorial/morewidgets.html#spinbox https://tcl.tk/man/tcl8.6/TkCmd/ttk_spinbox.htm 2024. 2. 16.
728x90