当前位置: 首页 > 面试题库 >

如何更改标签标题框的大小和ttk笔记本标签的字体?

夏博
2023-03-14
问题内容

我想在ttk.notebook python 3x中更改选项卡标题的字体,宽度和高度

通过下面的代码,我可以只更改选项卡标题框的宽度

text=f'{"frame 1": ^30s}

但是如何更改“框架1”的字体以及选项卡标题框的高度?

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
notebook = ttk.Notebook(root)

f1 = tk.Frame(notebook, bg='red', width=200, height=200)
f2 = tk.Frame(notebook, bg='blue', width=200, height=200)

notebook.add(f1, text=f'{"frame 1": ^30s}')
notebook.add(f2, text=f'{"frame 2 longer": ^30s}')

notebook.grid(row=0, column=0, sticky="nw")
root.mainloop()

问题答案:

基于有关如何自定义笔记本标签的配置的答案,您可以将字体信息附加到创建的主题中,如下所示,以获取所需的字体类型:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

s = ttk.Style()
s.theme_create( "MyStyle", parent="alt", settings={
        "TNotebook": {"configure": {"tabmargins": [2, 5, 2, 0] } },
        "TNotebook.Tab": {"configure": {"padding": [100, 10],
                                        "font" : ('URW Gothic L', '11', 'bold')},}})
s.theme_use("MyStyle")

notebook = ttk.Notebook(root)

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 longer" )

notebook.grid(row=0, column=0, sticky="nw")
root.mainloop()

另一种方法是直接配置笔记本的Tab样式。参见下面的代码。

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

s = ttk.Style()
s.configure('TNotebook.Tab', font=('URW Gothic L','11','bold') )

notebook = ttk.Notebook(root)

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 longer" )

notebook.grid(row=0, column=0, sticky="nw")
root.mainloop()

您必须注意使用s.configure('TNotebook.Tab', font=('URW Gothic L','11','bold') )
之间的区别 s.configure('TNotebook', font=('URW Gothic L','11','bold') )。前者更改笔记本的Tab小部件的字体,而后者更改笔记本的字体。

如果要配置选项卡的许多方面,则使用第一种方法。如果您只想更改笔记本选项卡的字体,则可以使用第二种方法。

使用s.configure('.', font=('URW Gothic L','11','bold') )表示所有ttk小部件字体都属于同一类型。如果这是您想要的,请执行此操作。



 类似资料:
  • 我的目标是增加“收入 ($) " 和“年份”的大小。但是我不知道怎么做。我可以增加“苹果、榴莲、橘子”和“2012、2013”。 下面是我的代码。

  • 问题内容: 我正在尝试制作看起来不像tkinter应用程序的tkinter应用程序。我使用的是ttk笔记本,并且在选中选项卡时,这些选项在文本的周围都有一点点虚线。它看起来很糟糕,我找不到使用样式或配置删除它的方法。这是要说明的屏幕截图: 编辑代码(我认为这不会有很大帮助,因为我实际上只是在尝试删除默认样式的东西。): 这是笔记本的创建: 填写: 相关样式: 问题答案: 您可以通过更改选项卡小部件

  • 我使用javafx绘制条形图和饼图。我需要: 更改条形图中x轴标签的字体大小 更改条形图标题的字体大小 更改饼图标题的字体大小 我正在使用的条形图 它仅更改xaxis上文本(单位)的字体大小,但不更改x轴标签 同样地,我正在使用 更改饼图中馅饼的标签。它确实会改变饼图标题的大小,但比例不一样。

  • 我正在《马特洛特利布》中创建一个人物,如下所示: 我想为图形标题和轴标签指定字体大小。我需要这三个都是不同的字体大小,所以设置全局字体大小()不是我想要的。如何单独设置图形标题和轴标签的字体大小?

  • OK!所以,我有一个大图表,包含了双轴例子中的几个元素 现在我的问题是,Y轴标题的大小和字体已经修改,并且在主Y轴上显示正确。在第二个(有问题的“lulu”)中,我得到了一个自定义字体和大小。显然,两者不匹配,我需要更改secondary NumberAxis标题标签的字体和大小以与原始标签相对应。 除了用我自己的字体和大小对NumberAxis和plugin进行子类化之外,还有什么方法可以更改标

  • 问题内容: 我在使用键绑定来更改标签或任何参数的值时遇到麻烦。这是我的代码: 运行此命令时,我单击输入框并按Enter,希望标签将值更改为“更改值”。但是,尽管它确实打印了该文本,但标签保持不变。 通过查看关于类似问题的其他问题,我发现了如何在课堂外使用其中的一些功能,但是在课堂上进行操作时遇到了一些困难。 另外,顺便提一下,“主人”在tkinter中扮演什么角色? 问题答案: 上面的句子使lab