【问题标题】:Change text size and color of ttk notebook更改ttk笔记本的文字大小和颜色
【发布时间】:2019-09-09 16:48:51
【问题描述】:

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

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', foreground='red') 改变笔记本的前景色,所有的标签文本颜色都改变了。我怎么能改变文字的颜色假设“断开连接”????

【问题讨论】:

  • 创建主题选项正常工作。谢谢。是否有任何选项可以动态配置选项卡。像 note.configure(window.tab2,state="dusabled") @AbdElKodousSouissi

标签: python tkinter jupyter-notebook ttk


【解决方案1】:

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

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 但请注意,我已经浏览了所有示例代码,而这个示例是唯一一个处理:

style.theme_create()

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

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

编辑: 关于选定和禁用的选项卡按钮的另一个突破,关于这里有两种不同的颜色是你可以做的,在上面代码的“地图”类中:

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

tkinter 文档的“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?

【讨论】:

猜你喜欢
  • 2018-08-19
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
  • 1970-01-01
相关资源
最近更新 更多