Tkinter教程之Font篇

来源:互联网 发布:怎么在淘宝卖耐克正品 编辑:程序博客网 时间:2024/05/16 02:12
'''Tkinter教程之Font篇'''# Tkinter中其它常用的一些功能'''1.字体使用'''# -*- coding: utf-8 -*-# 改变组件的显示字体from tkinter import *root = Tk()# 创建一个Labelfor ft in ('Arial', ('Courier New',), ('Comic Sans MS',), 'Fixdsys', ('MS Sans Serif',), ('MS Serif',), 'Symbol', 'System',           ('Times New Roman',), 'Verdana'):    Label(root, text='hello sticky', font=ft).grid()root.mainloop()# 在Windows上测试字体显示,注意字体中包含有空格的字体名称必须指定为tuple类型。

'''2.使用系统已有的字体'''# -*- coding: utf-8 -*-# Font来创建字体from tkinter import *# 引入字体模块import tkinter.font as tkFontroot = Tk()# 创建一个Label# 指定字体名称、大小、样式ft = tkFont.Font(family='Fixdsys', size=20, weight=tkFont.BOLD)Label(root, text='hello sticky', font=ft).grid()root.mainloop()# 使用tkFont.Font来创建字体。

'''3.字体创建属性优先级'''# -*- coding: utf-8 -*-# 使用系统已有的字体显示from tkinter import *import tkinter.font as tkFontroot = Tk()# 创建一个Label# 指定字体名称、大小、样式# 名称是系统可使用的字体ft1 = tkFont.Font(family='Fixdsys', size=20, weight=tkFont.BOLD)Label(root, text='hello sticky', font=ft1).grid()ft2 = tkFont.Font(font=('Fixdsys', '10', tkFont.NORMAL), size=40)Label(root, text='hello sticky', font=ft2).grid()root.mainloop()# 创建字体有font等其它属性,# 如果font指定了,有几个参数将不再起作用,如:family,size,weight,slant,underline,overstrike# 例子中演示的结果是ft2中字体大小为10,而不是40

'''4.得到字体的属性值'''# -*- coding: utf-8 -*-# 测试measure和metrics属性from tkinter import *import tkinter.font as tkFontroot = Tk()# 创建一个Labelft1 = tkFont.Font(family='Fixdsys', size=20, weight=tkFont.BOLD)Label(root, text='hello font', font=ft1).grid()ft2 = tkFont.Font(font=('Fixdsys', '10', tkFont.NORMAL), size=40)Label(root, text='hello font', font=ft2).grid()# 得到字体的宽度print(ft1.measure('hello font'))print(ft2.measure('hello font'))# 打印两个字体的属性for metric in ('ascent', 'descent', 'linespace', 'fixed'):    print(ft1.metrics(metric))    print(ft2.metrics(metric))root.mainloop()# 使用这两个方法得到已创建字体的相关属性值

'''5.使用系统指定的字体'''# -*- coding: utf-8 -*-# 使用系统字体:以下测试是Windows上的系统指定字体from tkinter import *import tkinter.font as tkFontroot = Tk()for ft1 in ('ansi', 'ansifixed', 'device', 'oemfixed', 'system', 'systemfixed'):    Label(root, text='hello font', font=ft1).grid()root.mainloop()# X Window上的系统指定字体:fixed,6x10等

'''6.使用X Font Descriptor'''# -*- coding: utf-8 -*-# 使用X Font Descriptorfrom tkinter import *import tkinter.font as tkFontroot = Tk()for ft in ('Times', 'Helvetica', 'Courier', 'Symbol',):    Label(root, text='hello font', font=('-*-%s-*-*-*--*-240-*') % (ft)).grid()root.mainloop()# X Font Descriptor格式:-*-family-weight-slant-*--*-size-*-*-*-*-charset# 这个例子是在Windows下测试,没有在Linux测试。

0 0
原创粉丝点击