Есть ли способ сохранить две записные книжки с разными стилями вкладок в tkinter, используя python? - PullRequest
0 голосов
/ 29 мая 2020

В случае метки или кнопки, я знаю, как это делается.

style=ttk.Style()
style.configure('One.TLabel', font=('Arial', 32))
style.configure('Two.TLabel', font=('Arial', 18))

h1=Label(root, text='Heading', style='One.TLabel')
h2=Label(root, text='Sub-heading', style='Two.TLabel')

h1.pack()
h2.pack()

Это работает.

Но в случае вкладки блокнота, скажем, я хочу изменить отступы вкладки и шрифт . Также этот метод не работает.

style=ttk.Style()
style.configure('One.TNotebook.Tab', font=('Arial', 14), padding=20)
style.configure('Two.TNotebook.Tab', font=('Arial', 12), padding=10)

# adding book1 tabs
book1=Notebook(root, style='One.TNotebook')
# adding book2 tabs
book2=Notebook(root, style='Two.TNotebook')

book1.pack()
book2.pack()

Как мы это делаем? Есть ли обходной путь?

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете использовать ttk.Style() для записных книжек следующим образом, чтобы определить два разных стиля для двух разных записных книжек, которые сосуществуют в одном окне:

enter image description here

import tkinter as tk
from tkinter import ttk


root = tk.Tk()


style = ttk.Style()
style.configure('One.TNotebook.Tab', font=('Arial', 24), padding=40)

book1 = ttk.Notebook(root, style='One.TNotebook')
book1.pack()
frame1 = ttk.Frame(book1, width=400, height=200, relief=tk.SUNKEN)
frame2 = ttk.Frame(book1, width =400, height=200, relief=tk.SUNKEN)
book1.add(frame1, text = 'One')
book1.add(frame2, text = 'Two')


style.configure('Two.TNotebook.Tab', font=('Arial', 12), padding=10)

book2 = ttk.Notebook(root, style='Two.TNotebook')
book2.pack()
frame3 = ttk.Frame(book2, width=400, height=200, relief=tk.FLAT)
frame4 = ttk.Frame(book2, width =400, height=200, relief=tk.FLAT)
book2.add(frame3, text='Three')
book2.add(frame4, text='Four')


root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...