728x90
반응형
SMALL
Tkinter 위젯
위젯은 객체를 생성하여 필요한 속성들을 지정하여 사용한다. 위젯은 부모 컨테이너와 연관하여 어떤 상대적 위치에 놓이게 되는데, Geometry Manager를 사용하여 각 위젯의 위치를 정하게 된다.
MyFrame 클래스는 Frame으로부터 상속된 파생클래스이고, 생성자에서 Label 하나를 추가하고 있다. Label은 좌표 (0,0)에 위치 (place)하게 되고, 레이블 안에는 이미지를 넣고 있다. 이미지는 tkinter의 PhotoImage 클래스를 사용하고 있는데, 이 클래스는 .gif 파일 (혹은 PGM) 만을 읽을 수 있다. 다른 이미지 포맷을 사용하기 위해서는 외부 모듈을 사용해야 한다. PhotoImage()에 이미지 파일을 적고 리턴된 객체를 레이블에 지정하면 되는데, 특히 가비지 컬렉션으로부터 삭제되는 것을 방지하기 위해 레퍼런스를 증가시켜 준다.
위젯
|
설명
|
Button
|
단순한 버튼
|
Label
|
텍스트 혹은 이미지 표시
|
CheckButton
|
체크박스
|
Entry
|
단순한 한 라인 텍스트 박스
|
ListBox
|
리스트 박스
|
RadioButton
|
옵션 버튼
|
Message
|
Label과 비슷하게 텍스트 표시. Label과 달리 자동 래핑 기능이 있다.
|
Scale
|
슬라이스 바
|
Scrollbar
|
스크롤 바
|
Text
|
멀티 라인 텍스트 박스로서 일부 Rich Text 기능 제공
|
Menu
|
메뉴 Pane
|
Menubutton
|
메뉴 버튼
|
Toplevel
|
새 윈도우를 생성할 때 사용. Tk()는 윈도우를 자동으로 생성하지만 추가로 새 윈도우 혹은 다이얼로그를 만들 경우 Toplevel를 사용한다
|
Frame
|
컨테이너 위젯. 다른 위젯들을 그룹화할 때 사용
|
Canvas
|
그래프와 점들로 그림을 그릴 수 있으며, 커스텀 위젯을 만드는데 사용될 수도 있다
|
from tkinter import *
from tkinter import ttk
root = Tk()
label = ttk.Label(root, text = 'Hello')
label.pack()
# Label을 수정하려면 config 사용
label.config(text = 'Python Tkinter 라이브러리를 이용한 ' \
'GUI 만들기')
label.config(justify = CENTER)
label.config(font = ('현대하모니 L', 18, 'bold'))
label.img= PhotoImage(file = 'python_logo.gif')
label.config(image = label.img)
root.mainloop()
728x90
반응형
LIST
'Programming > Python' 카테고리의 다른 글
파이썬 (Python) (0) | 2022.01.10 |
---|---|
[Python] glob (파일 이름 일람 취득) (0) | 2021.12.23 |
15. GUI툴킷 Tkinter (0) | 2021.12.15 |
14. 데이터베이스 (Database) (0) | 2021.12.15 |
13. 네트워크 (0) | 2021.12.15 |