Tkinter Text family参数

Tkinter Text family参数

family用于设置Text文字区域的字形,下面将以实例说明此参数对于文字区域字形的影响。

示例1

建立一个Text文字区域,然后在上方建立一个OptionMenu对象,在这个对象内建立了Arial、Times、Courier三种字形,其中,Arial是默认的字形,用户可以在Text文字区域输入文字,然后选择字形,可以看到所输入的文字将因所选择的字形而有不同的变化。

from tkinter import * 
from tkinter.font import Font

def familyChanged(event):             # font family更新
    f=Font(family=familyVar.get())    # 取得新的fong family
    text.configure(font=f)            # 更新text的font family

root = Tk()
root.title("apidemos.com")
root.geometry("300x180")

# 建立font family OptionMenu
familyVar = StringVar()
familyFamily = ("Arial","Times","Courier")
familyVar.set(familyFamily[0])
family = OptionMenu(root,familyVar,*familyFamily,command=familyChanged)
family.pack(pady=2)

# 建立Text
text = Text(root)
text.pack(fill=BOTH,expand=True,padx=3,pady=2)
text.focus_set()

root.mainloop()

输出:

Tkinter Text family参数

这个程序中的第13~18行,有关建立OptionMenu对象的内容可以参考Tkinter OptionMenu Tutorial

第21~23行,有关建立Text文字区域的内容可参考前几节的叙述。对读者而言最重要的是第6行,可以取得所选择的font family,然后在第7行设置让Text文字区域使用此字形。

示例2

上述程序实例所使用的OptionMenu是使用tkinter的Widget,如果使用tkinter.ttk将看到不一样的外观

from tkinter import * 
from tkinter.ttk import * 
from tkinter.font import Font

def familyChanged(event):             # font family更新
    f=Font(family=familyVar.get())    # 取得新的fong family
    text.configure(font=f)            # 更新text的font family

root = Tk()
root.title("apidemos.com")
root.geometry("300x180")

# 建立font family OptionMenu
familyVar = StringVar()
familyFamily = ("Arial","Times","Courier")
familyVar.set(familyFamily[0])
family = OptionMenu(root,familyVar,*familyFamily,command=familyChanged)
family.pack(pady=2)

# 建立Text
text = Text(root)
text.pack(fill=BOTH,expand=True,padx=3,pady=2)
text.focus_set()

root.mainloop()

输出:

Tkinter Text family参数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程