Tkinter教程之Font篇

转载 2016年07月12日 15:09:40
'''Tkinter教程之Font篇'''
# Tkinter中其它常用的一些功能
'''1.字体使用'''
# -*- coding: utf-8 -*-
# 改变组件的显示字体
from tkinter import *

root = Tk()
# 创建一个Label
for 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 tkFont

root = 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 tkFont

root = 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 tkFont

root = Tk()
# 创建一个Label
ft1 = 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 tkFont

root = 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 Descriptor
from tkinter import *
import tkinter.font as tkFont

root = 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测试。

相关文章推荐

Python脚本04 —— 模板中字体统一改成font1、font2、font3、font4、font5、font6

#模板中字体统一改成font1、font2、font3、font4、font5、font6 # coding=utf8 import os,sys def replace(f): if not...
  • hzxpyjq
  • hzxpyjq
  • 2015年09月22日 12:07
  • 764

Tkinter教程之Font篇

Tkinter教程之Font篇# Tkinter中其它常用的一些功能1.字体使用# -*- coding: cp936 -*-# 改变组件的显示字体from Tkinter import *root ...
  • jcodeer
  • jcodeer
  • 2007年10月06日 23:15
  • 7169

Python下的TK(一)概述

这次学习TK主要是为了让Python编写的小工具能够有一个友善的GUI界面,方便同事在日常工作中使用。百度了很多参考资料,同时也查看了TK的官方文档,感觉不符合自己的胃口,于是决定自己整理总结,同时也...

Tkinter--Text文本框样例

#-*- coding:utf-8 -*- """ Text 文本框样例 实现功能有:Ctrl+a全选文本, 竖向滚动条,横向滚动条(不自动换行) 自动缩放 有谁知道全选文本的方法为会要 r...
  • xxb2008
  • xxb2008
  • 2014年05月14日 23:47
  • 18630

pythonTkinter(3) 用scale控制label中字体大小

#!/usr/bin/env python #coding=utf8 from Tkinter import * def resize(ev = None):     labe...

Tkinter教程之Label篇

#Tkinter教程之Label篇1.Label的第一个例子text属性使用方法#要使用Tk模块,除非你不想使用这个模块,那整个教程就不需要看了from Tkinter import *#初始化Tkr...
  • jcodeer
  • jcodeer
  • 2007年10月04日 18:11
  • 16187

python 抽象方法 抽象类实现

抽象基类 ABC 是一些不能被实例化的类。Java 或 C++ 语言的程序员应该对此概念十分熟悉。Python 3 添加了一个新的框架 —abc— 它提供了对 ABC 的支持。 这个 ab...

Dubbo源码分析(一):Dubbo源码的结构概述

1.dubbo源码的结构 Dubbo源文件主要包含以上这么多包,其中:  dubbo-common 公共逻辑模块,包括Util类和通用模型。         dubbo-remoting 远程...

python-Tkinter教程之Canvas篇(2)

'''Tkinter教程之Canvas篇(2)''' '''9.创建item的tags''' # -*- coding: cp936 -*- # 使用属性tags设置item的tag # 使用...

Tkinter教程之Label篇

'''2.在label上使用内置位图 bitmap的使用方法 ''' from tkinter import * # 初始化Tk root = Tk() # 创建一个label,使用编码,到现在为止...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tkinter教程之Font篇
举报原因:
原因补充:

(最多只允许输入30个字)