2024. 3. 9. 20:23ㆍGUI/tkinter
요약 : 이 튜토리얼에서는 Tkinter Notebook 위젯을 사용하여 탭을 만드는 방법을 배웁니다.
Tkinter 노트북 위젯 소개
Notebook 위젯을 사용하면 탭을 클릭하여 콘텐츠 페이지를 선택할 수 있습니다.

이러한 탭 중 하나를 클릭하면, Notebook 위젯에 선택한 탭과 연결된 하위 창이 표시됩니다. 일반적으로 하위 창은 Frame 위젯입니다.
Notebook 위젯을 만들려면, 다음과 같이 ttk.Notebook 클래스를 사용합니다.
notebook = ttk.Notebook(master,**kw)
이 구문에서는:
- master : 노트북의 상위 위젯입니다. 일반적으로 기본 창입니다.
- **kw : 노트북 위젯의 모양을 제어하는 키워드 인수를 지정할 수 있습니다.
노트북 위젯에는 몇 가지 유용한 옵션이 있습니다. 예를 들어 height 및 width 옵션을 사용하여 위젯에 할당된 공간을 지정합니다. 또한 padding 옵션을 사용하여 위젯 외부 주위에 공간을 추가할 수 있습니다.
노트북 방법
ttk.Notebook 클래스는 탭을 효과적으로 관리할 수 있는 다양한 편리한 방법을 제공합니다.
다음은 가장 일반적으로 사용되는 항목에 대해 설명합니다.
추가(자식, **kwargs)
add()메소드는 창에 하위 위젯을 추가합니다. **kwargs 인수는 하나 이상의 옵션입니다. 중요한 내용은 다음과 같습니다.
- child는 노트북에 추가하는 위젯입니다.
- text 옵션은 탭에 표시되는 레이블을 지정합니다.
- image 옵션은 탭에 표시될 이미지를 지정합니다.
- text및 image 옵션을 모두 사용하는 경우, compound 옵션을 사용해야 합니다. 복합 옵션은 텍스트를 기준으로 이미지의 위치를 설명합니다. 그것은 tk.TOP, tk.BOTTOM, tk.LEFT, tk.RIGHT, tk.CENTER 일 수 있습니다. 예를 들어 text는 image를 text 왼쪽에 배치합니다.
- underline는 0 또는 양의 정수를 사용하는 옵션입니다. 밑줄을 그을 탭의 텍스트 위치에 있는 문자를 지정합니다.
숨기기(탭 ID)
hide() 메서드는 노트북에서 tabId로 식별된 탭을 일시적으로 제거합니다. 탭에는 0부터 시작하는 인덱스가 있습니다. 즉, 첫 번째 탭은 0에서 시작합니다.
탭을 표시하려면 add() 메서드를 다시 호출해야 합니다. 해당하는 show() 메소드가 없습니다.
forget(child)
노트북에서 forget()지정된 child 위젯을 영구적으로 제거합니다.
Tkinter 노트북 위젯 예
다음 프로그램은 두 개의 탭이 있는 노트북을 만드는 방법을 보여줍니다.
import tkinter as tk
from tkinter import ttk
# root window
root = tk.Tk()
root.geometry('400x300')
root.title('Notebook Demo')
# create a notebook
notebook = ttk.Notebook(root)
notebook.pack(pady=10, expand=True)
# create frames
frame1 = ttk.Frame(notebook, width=400, height=280)
frame2 = ttk.Frame(notebook, width=400, height=280)
frame1.pack(fill='both', expand=True)
frame2.pack(fill='both', expand=True)
# add frames to notebook
notebook.add(frame1, text='General Information')
notebook.add(frame2, text='Profile')
root.mainloop()

동작 방식.
먼저, 상위 창이 루트 창인 노트북 위젯을 만듭니다.
notebook = ttk.Notebook(root)
notebook.pack(pady=10, expand=True)
둘째, 부모가 노트북인 두 개의 프레임을 만듭니다.
frame1 = ttk.Frame(notebook, width=400, height=280)
frame2 = ttk.Frame(notebook, width=400, height=280)
frame1.pack(fill='both', expand=True)
frame2.pack(fill='both', expand=True)
셋째, add() 메서드를 사용하여 노트북에 다음 프레임을 추가합니다.
notebook.add(frame1, text='General Information')
notebook.add(frame2, text='Profile')
요약
- ttk.Notebook 클래스를 사용하여 노트북 위젯을 만듭니다.
- add() 메서드를 사용하여 노트북에 탭을 추가합니다.
- 노트북에서 탭을 일시적으로 제거하려면 hide() 메소드를 사용하세요. 탭을 영구적으로 제거하려면, forget() 메소드를 사용하십시오.
'GUI > tkinter' 카테고리의 다른 글
Tkinter Canvas (0) | 2024.03.11 |
---|---|
Tkinter Treeview (0) | 2024.03.10 |
Tkinter Progressbar (0) | 2024.03.08 |
Tkinter LabelFrame (0) | 2024.03.07 |
Tkinter Sizegrip (0) | 2024.03.06 |