更改TTK笔记本的文本大小和颜色

时间:2019-04-19 11:54:41

标签: python jupyter-notebook ttk

我创建了一个窗口,并使用ttk笔记本查看选项卡菜单。我无法更改标签菜单的文本大小和字体,背景颜色等。

from tkinter import *
from tkinter import ttk
import tkinter

window = Tk()
style = ttk.Style()
note = ttk.Notebook(window)

window.tab1 = ttk.Frame(note)
window.tab2 = ttk.Frame(note)
window.tab3 = ttk.Frame(note)
window.tab4 = ttk.Frame(note)

note.add(window.tab1, text = "Home ")
note.add(window.tab2, text = "Disconnected ")
note.add(window.tab3, text = "Alarm ")
note.add(window.tab4, text = "")

note.pack()
style.configure('TNotebook.Tab', foreground='red')
window.mainloop()

如何分别更改“ home”,“ Alarm”等文本的大小和颜色? style.configure('TNotebook.Tab',前景色='红色')更改笔记本的正面颜色,所有选项卡文本颜色均被更改。我应该如何更改假定“已断开连接”的文本的颜色?

1 个答案:

答案 0 :(得分:0)

这是我找到的代码,我当然对其进行了编辑,但是它可能会帮助您解决一些需求,例如颜色((仍然不知道文本是否可以帮助您)):

style = ttk.Style()
style.theme_create('Cloud', settings={
    ".": {
        "configure": {
            "background": '#aeb0ce', # All colors except for active tab-button
            "font": 'red'
        }
    },
    "TNotebook": {
        "configure": {
            "background":'black', # color behind the notebook
            "tabmargins": [5, 5, 0, 0], # [left margin, upper margin, right margin, margin beetwen tab and frames]
        }
    },
    "TNotebook.Tab": {
        "configure": {
            "background": 'dark blue', # Color of non selected tab-button
            "padding": [5, 2], # [space beetwen text and horizontal tab-button border, space between text and vertical tab_button border]
            "font":"white"
        },
        "map": {
            "background": [("selected", '#aeb0ce')], # Color of active tab
            "expand": [("selected", [1, 1, 1, 0])] # [expanse of text]
        }
    }
})
style.theme_use('Cloud')

编辑: 这是链接:https://www.programcreek.com/python/example/104109/tkinter.ttk.Notebook 但是请注意,我已经浏览了所有示例代码,并且该示例是唯一处理:: p的示例

style.theme_create()

ttk的此功能允许您设置应用程序的整个主题,此处要做的是从父类小部件转到子类并配置背景,前景等内容。我了解的是,每个小部件级别都有名称,并且您可以更改的参数数量以及不涉及的参数保持默认。因此,在这里我们探索父级,然后是TNotebook,然后是Tnotebook.Tab,然后是最低级别。 我正在研究它,并弄清楚了如何更改字体颜色,在TNotbook.Tab配置中添加此参数,如下所示:

"TNotebook.Tab": {
        "configure": {"foreground":"white"}

编辑: 在上部代码的“ map”类中,关于已选择和已禁用的选项卡按钮的另一个突破是,这里具有两种不同的颜色:

"map": {"foreground": [("selected", "black"),("!disabled", "white")] }

tkinter doc的“ theme_settings”非常有用: https://docs.python.org/3/library/tkinter.ttk.html

在此主题中找到了如何更改文本字体:How can I change the size of tab caption box and font of ttk notebook tabs?