# Font Preferences
![](https://img.kancloud.cn/b3/df/b3df1082702521e373a10a720d687b41_710x841.png)
由于我的眼睛需要像16点字体这样的大字体,因此我可以设置PAGE默认字体来捕获大多数正确的东西。对于“ Python控制台”窗口,我想要一个大胆的字体;即PAGE固定宽度字体。
GUI字体更多。除了上述之外,还可以指定在诸如文本框和列表框之类的小部件中使用的文本字体。同样,我允许指定一种不同于默认字体的菜单字体。
我有一个问题与文本框字体的选择有关。字体应该是文本字体还是固定宽度字体?如果像PAGE Python控制台一样,要在文本框中构建编辑器,则需要固定宽度的字体,但是如果要显示类似帮助消息的内容,则使用可变宽度的字体更为合适。我对PAGE所做的是将GUI文本字体用于文本框,将GUI固定宽度字体用于列表框。实际上,可以很好地论证将所有三种字体用于列表框。
字体使我倍感痛苦和困惑。人们可能会选择一种字体,该字体在托管PAGE的系统上效果很好。然后,可以构建一个GUI,该GUI将调用目标系统上不可用的特定字体。如果您知道目标系统上可用的字体,则可以选择所需的字体。 Tk封装了一组始终可用的标准字体,当然,标准小部件使用这些字体。这有助于消除平台差异。预定义的字体是:
> * TkDefaultFont所有其他未指定的GUI项目的默认设置。
> * TkTextFont 用于entry widgets, listboxes, etc.
> * TkFixedFont一种标准的固定宽度字体。
> * TkMenuFont用于菜单项的字体。
> * TkHeadingFont该字体通常用于列表和表中的列标题。
> * TkCaptionFont窗口和对话框标题栏的字体。
> * TkSmallCaptionFont子窗口或工具对话框的较小的标题字体
> * TkIconFont图标标题的字体。
> * TkTooltipFont工具提示的字体。
以下python程序(Python 2.7)将显示默认字体的特征:
~~~
import Tkinter
import tkFont
root = Tkinter.Tk()
fonts = tkFont.names()
for font in fonts:
print "\n%s" % font
config = root.tk.call("font", "configure", font)
print config
~~~
也可能是这样的情况:如果所选字体在目标系统上不可用,则可以使用这些字体之一。我从文档中看不出来。首选项窗口允许您指定在生成的GUI中使用的默认字体。为避免百合花过多烫伤,我允许用户仅指定前四个。如果您尝试使用不同的字体作为默认值之一,然后又想返回真实的默认值,例如文本小部件的TkFixedFont,请指定一个按钮。我没有提供指定用于文本小部件的TkMenuFont的示例。
您可以指定要使用的默认字体,并且仍然为任何单个小部件指定不同的非默认字体。例如,您可以将TkMenuFont用于Button小部件,如果需要的话(在我的情况下为14点字体)。似乎应该避免Tk中的另一种怪异现象,那就是您可以更改默认字体的字体,大小,粗细等。至少我没有那么容易。
如果您一定要在托管PAGE的系统上使用GUI应用程序,请选择符合您要求的默认值。但是请记住,如果GUI在其他系统上执行,则这些字体可能不存在。在这种情况下,Tk将为您选择默认值,而这可能不是您想要的。
如果某个小部件的默认字体处于活动状态,它将以默认名称(例如TkMenuFont)出现在“属性编辑器”中,但如果您选择相邻的省略号键,则该字体将被更改为具有由家族,大小,粗细等。这可能不是您想要的,在这种情况下,您可以将字体名称替换为默认字体名称。
- 介绍
- 更新记录
- X Concepts
- Visual Tcl
- 使用PAGE设计范例
- 项目目录配置
- Python 2 or Python 3
- Python编码和UTF-8
- 使用PAGE的简短说明
- PAGE的状态
- 安装
- PAGE界面
- 主菜单
- 子菜单
- 组件工具栏
- 属性编辑器
- 组件树
- 绑定操作窗口
- 菜单编辑器
- 首选项窗口
- Python控制台
- 回调窗口
- 应用窗口
- 颜色对话框
- 颜色
- 双显示器
- 默认值和首选项
- Preferences Windows
- Color Preferences
- Font Preferences
- 模块结构
- 风格和主题
- 使用PAGE
- 命名约定
- 概述
- Toplevel Geometry
- 别名
- 气球帮助-工具提示
- 选择和修改组件
- 修改组件位置和尺寸
- 锁定组件
- 填充容器
- 剪切,复制和粘贴
- Stash and Apply - Propagate Widget Options
- 菜单组件
- 回调函数
- 将事件链接到回调函数
- 创建绑定
- 为滚动组件创建绑定
- 定义回调函数
- 查看回调
- 指定字体
- Toplevel Widget
- 相对位置
- Tkinter变量类
- Ttk Widgets
- Scrolled Widgets
- Ttk Notebook and PNotebook
- Ttk Panedwindow
- Ttk Treeview
- Entry
- Ttk Entry
- Ttk Combobox
- Radiobuttons
- 文本和变量的奇异性
- Label
- Listbox
- Spinbox
- Scale and TScale
- TSeparator
- Sizegrip
- Custom Widgets
- Canvas
- 生成,检查和运行Python GUI
- 创建和保存代码模块
- 检查生成的Python模块
- 执行Python模块
- 将生成的Python模块加载到IDE中
- 具有多个顶级Windows的应用程序
- 修改光标
- 使用图像
- 动态组件
- 菜单
- 重建
- 自动更新支持模块
- 重用
- 模板
- 从现有项目中借用组件
- 范例
- 结语