【发布时间】:2017-10-03 16:34:08
【问题描述】:
总结
如何使用ttk 样式创建带有下划线文本的派生样式?
详情
我正在尝试创建一个派生自内置 TLabel 样式的 ttk 样式。内置样式和派生样式之间的唯一区别应该是文本带有下划线;它应该继承内置 TLabel 样式的所有其他特征(即,如果 TLabel 字体稍后更改,Underline.TLabel 也应更改)。
我知道基本方法(不使用ttk 样式)是创建一个新的下划线字体。但是,从示例代码(如下)可以看出,Underline.TLabel 样式以正确的(默认)字体显示,但字体大小更大。我确定我遗漏了一些明显的东西,但无法通过任何 Google 搜索等找到它。
import tkinter as tk
from tkinter import font
from tkinter import ttk
def main():
root = tk.Tk()
style = ttk.Style(root)
f = font.Font(underline=1)
style.configure('Underline.TLabel', font=f)
lbl0 = ttk.Label(root, text='Label 0', style='TLabel')
lbl0.pack()
lbl1 = ttk.Label(root, text='Label 1', style='Underline.TLabel')
lbl1.pack()
root.mainloop()
if __name__ == '__main__':
main()
【问题讨论】:
标签: python python-3.x tkinter ttk