python3 thinter tkinter.ttk — Tk主题样式设置

更多详情:来自TTK的英文文档链接
2.1使用TTK
导入模块:

from tkinter import ttk

覆盖基本的Tk小部件,则需导入:

from tkinter import *
from tkinter.ttk import *

该代码导致几个tkinter.ttk小部件(Button, Checkbutton,Entry,Frame,Label, LabelFrame,Menubutton,PanedWindow, Radiobutton,Scale和Scrollbar)自动替换Tk小部件。
因为Ttk小部件不再存在诸如:“fg”,"bg"等小部件以及其它相关的小部件样式,所以我们只能使用ttk.Style类来改进样式效果。

2.2 Ttk小部件
Ttk附带17个小部件,其中11个已经存在于tkinter: Button,Checkbutton,Entry,Frame, Label,LabelFrame,Menubutton,PanedWindow, Radiobutton,Scale和Scrollbar。其他六个是新的:Combobox,Notebook,Progressbar, Separator,Sizegrip和Treeview。而且它们都是Widget的子类。
Tk代码:

l1 = tkinter.Label(text="Test", fg="black", bg="white")
l2 = tkinter.Label(text="Test", fg="black", bg="white")

Ttk代码:

style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")

l1 = ttk.Label(text="Test", style="BW.TLabel")
l2 = ttk.Label(text="Test", style="BW.TLabel")

2.3小工具
2.3.1
ttk.Widget定义了Tk主题小部件支持的标准选项和方法,不应该直接实例化。

选项描述
class[类] 指定窗口类。在查询选项数据库中窗口的其他选项时,使用该类,确定窗口的默认绑定标签,以及选择窗口小部件的默认布局和样式。此选项是只读的,只能在创建窗口时指定。
cursor[光标] 指定要用于窗口小部件的鼠标光标。如果设置为空字符串(默认值),则为父窗口小部件继承游标。
takefocus确定窗口是否在键盘遍历期间接受焦点。返回0,1或空字符串。如果返回0,则表示在键盘遍历期间应完全跳过该窗口。如果为1,则表示只要可以查看窗口就应该接收输入焦点。空字符串表示遍历脚本决定是否关注窗口。
style[样式] 可用于指定自定义窗口小部件样式 。

2.3.2可滚动窗口小部件选项
由滚动条控制的窗口小部件支持以下选项。

选项描述
xscrollcommand用于与水平滚动条进行通信。当窗口小部件窗口中的视图发生更改时,窗口小部件将基于scroll命令生成Tcl命令。通常,此选项包含某些滚动条的Scrollbar.set()方法 。这将导致只要窗口中的视图发生更改,就会更新滚动条。
yscrollcommand用于与垂直滚动条进行通信。有关更多信息,请参见上文。

2.3.3label选项

选项描述
text[文本] 指定要在窗口小部件中显示的文本字符串。
textvariable指定将使用其值代替文本选项资源的名称。
underline[下划线] 如果设置,则指定要在文本字符串中加下划线的字符的索引(从0开始)。下划线字符用于助记符激活。
image[图片] 指定要显示的图像。这是一个或多个元素的列表。第一个元素是默认图像名称。列表的其余部分,如果由Style.map()定义的一系列statepec / value对,指定在窗口小部件处于特定状态或状态组合时要使用的不同图像。列表中的所有图像应具有相同的大小。
compound[复合]指定在存在文本和图像选项的情况下如何显示相对于文本的图像。有效值为: text:仅显示文字 image:仅显示图像 top, bottom, left, right: :分别显示文本上方,下方,左侧或右侧的图像。none:默认值。显示图像(如果存在),否则显示文本。
width[宽度]如果大于零,则指定为文本标签分配多少空格(字符宽度),如果小于零,则指定最小宽度。

2.3.4兼容性选项

选项描述
state可以设置为“正常”或“禁用”以控制“禁用”状态位。这是一个只写选项:设置它会更改窗口小部件状态,但Widget.state()方法不会影响此选项。

2.3.5小部件state

flag描述
active鼠标光标位于窗口小部件上,按下鼠标按钮将导致某些操作发生
disabled在程序控制下禁用小组件
focus小工具有键盘焦点
pressed小工具被按下了
selected“On”,“true”或“current”类似于Checkbuttons和radiobutton的设置一样
backgroundWindows和Mac具有“活动”或前景窗口的概念。该背景状态设置为背景的窗口小部件,并清除了那些在前台窗口
readonly小部件不应允许用户修改
alternate特定于小部件的备用显示格式
invalid小部件值无效

2.3.6 ttk.Widget
除了下面描述的方法之外,ttk.Widget还支持方法tkinter.Widget.cget()和tkinter.Widget.configure()。

class tkinter.ttk.Widget
  identify(x, y)
   返回位置x y处元素的名称,如果该点不位于任何元素内,则返回空字符串。
   x和y是相对于小部件的像素坐标。
  instate(statespec, callback=None, *args, **kw)
	  测试小部件的状态。如果没有指定一个回调,返回真如果控件状态匹配statespec和假否则。
	  如果指定了回调,那么如果widget状态与statespec匹配,则使用args调用它 。
  state(statespec=None)
	 修改或查询小部件状态。如果指定了statespec,则根据它设置窗口小部件状态并返回指示哪些标志
	 已更改的新状态规范。如果未指定statespec,则返回当前启用的状态标志。

statespec通常是列表或元组。
2.4. Combobox
该ttk.Combobox控件结合了文本字段值的弹出的下拉列表。此小部件是Entry的子类。

除了从Widget继承的方法:Widget.cget(), Widget.configure(),Widget.identify(),Widget.instate() 和Widget.state(),以及继承自Entry: Entry.bbox()的以下方法,Entry.delete(),Entry.icursor(), Entry.index(),Entry.inset(),Entry.selection(), Entry.xview(),它有一些其他方法,在ttk.Combobox中描述 。
2.4.1选项
此小部件接受以下特定选项:

选项描述
exportselection布尔值。如果设置,则窗口小部件选择链接到窗口管理器选择(例如,可以通过调用Misc.selection_get返回)。
justify指定文本在窗口小部件中的对齐方式。“left”,“center”或“right”之一。
height以行为单位指定弹出列表框的高度。
postcommand在显示值之前立即调用的脚本(可能已在Misc.register中注册)。它可以指定要显示的值。
state"normal”,“readnoly”或“disabled”之一。在“readonly”状态下,可能无法直接编辑该值,并且用户只能从下拉列表中选择值。在“normal”状态下,文本字段可直接编辑。在“disabled”状态下,不可能进行交互。
textvariable指定其值链接到窗口小部件值的名称。只要与该名称关联的值发生更改,窗口小部件值就会更新,反之亦然。请参阅tkinter.StringVar。
values指定要在下拉列表框中显示的值列表
width指定一个整数值,指示输入窗口的所需宽度,以小部件字体的平均大小字符表示。

2.4.2 虚拟事件
当用户从值中选择元素时,组合框小部件生成<>虚拟事件
2.4.3 ttk.Combobox
class tkinter.ttk.Combobox
current(newindex=None)
如果指定了newindex,则将组合框值设置为元素位置newindex。否则,返回当前值的索引,如果当前值不在值列表中,则返回-1。
get()
返回组合框的当前值。
set(value)
将组合框的值设置为value。
2.4.5 笔记本
Ttk Notebook小部件管理一组窗口并一次显示一个窗口。每个子窗口与选项卡相关联,用户可以选择该选项卡以更改当前显示的窗口。
2.5.1 选项
此小部件接受以下特定选项:

选项描述
height高度 如果存在且大于零,则指定窗格区域的所需高度(不包括内部填充或制表符)。否则,使用所有窗格的最大高度。
padding填充 指定要在笔记本外部添加的额外空间量。填充是一个列表,最多四个长度规格左上角。如果指定的元素少于四个,则默认为top,right默认为left,top默认为left。
width宽度 如果存在且大于零,则指定窗格区域的所需宽度(不包括内部填充)。否则,使用所有窗格的最大宽度。

2.5.2 Tab 选项
标签还有特定选项:

州 “正常”,“禁用”或“隐藏”。如果“禁用”,则选项卡不可选。如果“隐藏”,则不显示选项卡。
黏 指定子窗口在窗格区域中的定位方式。值是包含零个或多个字符“n”,“s”,“e”或“w”的字符串。根据grid()几何管理器,每个字母指的是子窗口将坚持的一侧(北,南,东或西)。
填充 指定要在笔记本和此窗格之间添加的额外空间量。语法与此小部件使用的选项填充相同。
文本 指定要在选项卡中显示的文本。
图片 指定要在选项卡中显示的图像。请参阅Widget中描述的选项图像。
复合 指定如何在文本和图像都存在的情况下显示相对于文本的图像。有关合法值,请参阅 标签选项。
强调 指定要在文本字符串中加下划线的字符的索引(从0开始)。如果调用

  • 13
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值