APP下载

Tkinter-ttk元件

消息来源:baojiabao.com 作者: 发布时间:2024-05-02

报价宝综合消息Tkinter-ttk元件

本节简单介绍了ttk元件基本内容,可作为ttk元件使用前导知识

ttk元件介绍

从Tk 8.5版本后,引入了ttk元件,这个模组可以替换大部分Tkinter元件

为什么要引入ttk元件?

原因是在Tk 8.5以前,Tkinter元件UI无法适应不同操作系统,UI所以显得很难看,而ttk元件可以自适应不同操作系统UI风格,无需修改程式程式码,UI元件更加友好

ttk元件涵盖一部分tkinter元件,还增加了一些新元件,同时简化了元件设定操作

ttk元件汇入

推荐如下方式汇入ttk模组

from tkinter import ttk

ttk元件涵盖Tkinter元件(一部分),所以ttk元件覆盖tkinter元件使用

from tkinter import *

from tkinter.ttk import *

ttk元件

ttk有17个元件,涵盖tkinter 11个元件

ButtonCheckbuttonEntryFrameLabelLabelFrameMenubuttonPanedWindowRadiobuttonScaleScrollbar新增六个元件

ComboboxNotebookProgressbarSeparatorSizegripTreeviewttk元件不太相容Tkinter元件,如tkinker.Label通过fg、bg引数设定前景色和背景色,而ttk.Label元件通过style引数设定,如下示例:

# tkinter元件设定

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

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

# ttk元件设定

style = ttk.Style()

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

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

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

ttk元件通用引数

所有 ttk 元件都支援的引数:

选项描述class指定视窗类,此选项只读,只能在建立视窗时指定cursor指定视窗元件的鼠标游标样式takefocus指定元件是否接受焦点,1接受焦点,0反之style指定视窗元件样式

ttk元件状态

ttk元件有一套状态标记,用于指示元件的状态,这些状态都可以程式设计开启或者关闭,下表是各种状态的含义

state描述active鼠标指标正处于控制元件内alternate该状态为应用程序保留backgroundUnder Windows or MacOS, the widget is located in a window that is not the foreground window.disabled禁用控制元件focus控制元件处于聚焦状态invalid控制元件的内容无效pressed控制元件被按下readonly只读selected控制元件被选中

ttk通用方法

.cget(option) 获得某个属性的值

.configure(option=value, ...) 设定某个属性的值,如果没有引数,它会返回一个字典,得到该元件所有属性

.state(stateSpec=None) 获取/设定/清空当前的状态

最后: 有关ttk新增的元件具体使用,以后有独立章节介绍

2019-12-19 12:52:00

相关文章