Tkinter Notebook

2024. 3. 9. 20:23GUI/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 노트북 위젯 예

다음 프로그램은 두 개의 탭이 있는 노트북을 만드는 방법을 보여줍니다.

In [1]:

 

 

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