2017-10-24 6 views
1

파이썬에서 tkinter를 사용하는 프로그램의 GUI를 다시 디자인하고 있습니다. 나는이 프로그램에 대해 ttk 위젯을 사용했지만 W10에서도 인터페이스가 너무 오래되어서 METRO 인터페이스 또는 W10 유사 UI를 사용하는 프로그램의 시각적 인터페이스를 업데이트하기로 결정했습니다.파이썬 Tkinter 측면 노트북 탭

가장 먼저 떠오르는 점은 W10에 매우 아름답고 유용한 "탭"이 있다는 것입니다. 질문이 있다면 ttk.notebook 위젯을 사용하는 방법이 탭?

그렇지 않으면 버튼을 클릭 할 때마다 측면에 버튼을 배치하고 프레임 위젯을로드 할 수 있지만 프레임과 위젯을 계속로드하는 프로그램에 과부하가 걸릴 수 있다고 생각합니다.이 방법을 피하려고합니다.

모두에게 감사드립니다.

답변

1

TNotebook 스타일의 tabposition 옵션을 구성하여 탭의 위치를 ​​변경할 수 있습니다.

import tkinter as tk 
from tkinter import ttk 

root = tk.Tk() 

style = ttk.Style(root) 
style.configure('lefttab.TNotebook', tabposition='ws') 

notebook = ttk.Notebook(root, style='lefttab.TNotebook') 
f1 = tk.Frame(notebook, bg='red', width=200, height=200) 
f2 = tk.Frame(notebook, bg='blue', width=200, height=200) 
notebook.add(f1, text='Frame 1') 
notebook.add(f2, text='Frame 2') 
notebook.pack() 

root.mainloop() 

이것은 리눅스의 기본 테마와 같은 모습입니다 :

enter image description here

그러나, 탭 안의 텍스트는 항상 수평이다. 저는 Windows가 없으므로 W10 UI가 어떻게 생겼는지 정확하게 알지 못합니다. 그러나 위치를 변경하는 것뿐만 아니라이를 수행하는 방법을 모르는 상태에서 탭을 회전하고 싶습니다.

+0

그건 정확히 내가 원하는거야. 또 하나의 질문입니다. 위치를 바꿀 수 있다면 탭을 숨기고 버튼을 사용할 수 있습니까? 내 말은 탭이 작동하는 방식을 에뮬레이션하는 것입니다. 노트북 위젯의 탭은 모든 탭의 프레임을 보여 주며 이것이 내가 원하는 것입니다. 감사! –

+0

죄송합니다. 묻는 것보다 검색에 더 많은 시간을 할애해야합니다. 나는 tkinter 문서에서'hide' 옵션을 찾았습니다. –