52-tkinter-ttkbootstrap-tableview表视图模块

tableview表视图模块

Tableview

介绍
ttkbootstrap.tableview.Tableview (Frame)

基于小部件构建的类,用于在 中排列数据 行和列。基础树视图对象及其方法是 暴露在物业中。ttk.TreeviewTableview.view

表视图对象包含各种功能,例如具有条带化行, 分页,以及自动调整大小和自动对齐的列。

加载大量数据时,建议使用分页选项,因为 表记录是按需插入的。表记录仅 在请求在页面视图中创建。这允许表 即使有数十万个,也能非常快速地加载 记录。

所有表列都是可排序的。单击列标题将切换 在排序“升序”和“降序”之间。

可以通过传递一个简单的标头名称列表来配置列或 通过传入带有设置的列名字典。您可以 也可以同时使用两者,如下例所示,其中列标题 名称用于一列,并使用设置字典 为另一个。

该对象在标题和单元格上有一个右键单击菜单 允许您配置各种设置。

**例子:**使用构造函数添加数据

import ttkbootstrap as ttk
from ttkbootstrap.tableview import Tableview
from ttkbootstrap.constants import *

app = ttk.Window()
colors = app.style.colors

coldata = [
    {"text": "LicenseNumber", "stretch": False},
    "CompanyName",
    {"text": "UserCount", "stretch": False},
]

rowdata = [
    ('A123', 'IzzyCo', 12),
    ('A136', 'Kimdee Inc.', 45),
    ('A158', 'Farmadding Co.', 36)
]

dt = Tableview(
    master=app,
    coldata=coldata,
    rowdata=rowdata,
    paginated=True,
    searchable=True,
    bootstyle=PRIMARY,
    stripecolor=(colors.light, None),
)
dt.pack(fill=BOTH, expand=YES, padx=10, pady=10)

app.mainloop()

方法说明
dt.insert_row('end', ['Marzale LLC', 26])使用方法添加数据
cidmapcid 到表列对象的映射, 属性只读
Dict[str, ttkbootstrap.tableview.TableColumn]
iidmapiid 到表行对象的映射, 属性只读
Dict[str, ttkbootstrap.tableview.TableRow]
is_filtered指示当前是否筛选表, 属性只读
pagesize单页上可见的记录数, 属性可写
searchcriteria搜索时用于筛选记录的条件 方法被调用
tablecolumns表列对象的列表, 属性只读
tablecolumns_visible可见表列对象的列表, 属性只读
tablerows所有表行对象的列表, 属性只读
tablerows_filtered筛选的表行对象的列表, 属性只读
tablerows_visible可见表行对象的列表, 属性只读
__init__
__init__(self, 
         master=None, 
         bootstyle='default', 
         coldata=[], 
         rowdata=[], 
         paginated=False, 
         searchable=False, 
         autofit=False, 
         autoalign=True, 
         stripecolor=None, 
         pagesize=10, 
         height=10, 
         delimiter=',') special

参数:

名字类型描述违约
masterWidget父小组件。None
bootstylestr用于设置条目焦点颜色的样式关键字 和日期按钮的背景色。可用 选项包括 ->primary, secondary, success, info, warning, danger, dark, light'default'
coldata`List[strDict]`包含标题名称或 列设置字典。可配置设置 包括>>text, image, command, anchor, width, minwidth, maxwidth, stretch文本、图像、命令、锚点、宽度、最小宽度、 最大宽度,拉伸。另请参阅。Tableview.insert_column
rowdataList行数据的可迭代对象。每行数据的长度 必须与列数匹配。另请参阅。Tableview.insert_row[]
paginatedbool指定要对数据进行分页。分页 框架将在表格下方创建,其中包含以下控件: 使用户能够在 数据集。False
pagesizeint当 时,这将指定行数 以按页显示。paginated=True10
searchablebool如果 ,则会在表上方创建一个搜索栏。 按键启动搜索。搜索 使用空字符串将重置搜索条件,或 按下搜索右侧的重置按钮 酒吧。目前,搜索方法查找任何行 包含搜索文本。过滤后的结果 显示在表视图中。TrueFalse
autofitbool如果为 ,表列将自动调整大小 根据当前视图中的记录加载时。 另请参阅。True``Tableview.autofit_columnsFalse
autoalignbool如果为 ,则列标题和数据将自动 一致。数字和数字标题右对齐 所有其他数据类型都是左对齐的。汽车 对齐方法计算每列中的第一条记录 以确定对齐的数据类型。另请参阅。True``Tableview.autoalign_columnsTrue
stripecolorTuple[str, str]如果提供,偶数编号的行将使用 (背景、前景)指定。您可以指定一个 或另一个通过传入 .例如,将设置条带 背景为绿色,但前景将保持为 违约。您可以使用标准和颜色名称,十六进制 颜色代码或引导样式颜色关键字。例如 (“光”,“#222”)会将背景设置为“光” 主题 TTK引导颜色和前景 指定的十六进制颜色。另请参阅。stripecolor=('green', None)``Tableview.apply_table_stripesNone
heightint指定将在表的视口中显示的行数。 如果记录数超出表高度, 用户可以使用鼠标滚轮或滚动条进行导航 数据。10
delimiterstr导出数据时用作分隔符的字符 到 CSV。','
align_column_XXX
方法说明
align_column_center居中对齐列文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid
-eventEvent类型,应用程序事件,默认None
-cid, int类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None
align_column_left(self, event=None, cid=None)左对齐列文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid
-eventEvent类型,应用程序事件,默认None
-cid, int类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None
align_column_right(self, event=None, cid=None)右对齐列文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid
-eventEvent类型,应用程序事件,默认None
-cid, int类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None
align_heading_XXX
方法描述
align_heading_center(self, event=None, cid=None)将标题文本居中对齐。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的标题。cid
-eventEvent类型,应用程序事件,默认None
-cid, int类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None
align_heading_left(self, event=None, cid=None)左对齐标题文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的标题。cid
-eventEvent类型,应用程序事件,默认None
-cid, int类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None
align_heading_right(self, event=None, cid=None)右对齐标题文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的标题。cid
-eventEvent类型,应用程序事件,默认None
-cid, int类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None
delete_XXX
方法描述
delete_column(self, index=None, cid=None, visible=True)根据列索引删除指定的列或 独特的CID。除非另有说明,索引是指列索引 如表视图所示。如果提供了 cid,则删除与 cid 关联的列 无论它是否在可见数据集中。
-index, int类型, 默认None, 列的数字索引。
-cid,str类型,唯一的列标识符。
-visible,bool类型,指定索引应引用可见的 列。否则,如果为 False,则为原始列 使用位置。
delete_columns(self, indices=None, cids=None, visible=True)删除由索引或 cid 指定的列表格。
-indexs, List[int]类型, 默认None, 列的数字索引列表。
-cids,List[str]类型,唯一的列标识符列表。
-visible,bool类型,指定索引应引用可见的 列。否则,如果为 False,则为原始列 使用位置。
delete_row(self, index=None, iid=None, visible=True)从数据集中删除记录。除非另有说明,否则索引是指记录 在可见数据集中从上到下的位置 从索引 0 开始。如果提供了 iid,则删除与 cid 关联的记录 无论它是否在可见数据集中。
-index, int类型, 默认None, 数据集中记录的数字索引。
-iid,str类型,唯一的列标识符。
-visible,bool类型,指示记录索引相对于当前 视图中的记录,否则,原始数据集索引为 如果为假,则使用。
delete_rows(self, indices=None, iids=None, visible=True)删除由索引或 iid 指定的行。
如果索引和 iid 均为 None,则 表将被删除。
export_XXX
方法描述
export_all_records(self)将所有记录导出到 csv 文件
export_current_page(self)将当前页面上的记录导出到 csv 文件
export_current_selection(self)将当前选定的行导出到 csv 文件
export_records_in_filter(self)将当前筛选的行导出为 csv 文件
get_XXX
方法描述
get_column(self, index=None, visible=False, cid=None)从索引或 cid 返回对象。TableColumn,如果指定了索引,则列索引引用索引 在原始中,除非设置了可见标志,其中 如果索引相对于视图中的可见列。如果指定了 cid,则与 cid 关联的列为 无论它是否可见,都返回。表列对象(如果找到),否则为无。
-index, int类型,默认None, 列的数字索引。
-visible, bool类型,默认False, 使用显示的可见列的索引 在表中。
get_columns(self)返回所有列对象的列表。与使用该属性相同。Tableview.tablecolumns
get_row(self, index=None, visible=False, filtered=False, iid=None)从索引或 iid 返回对象。TableRow.如果指定了索引,则行索引引用索引 在原始数据集中。选择数据子集时, 可见数据优先于过滤,如果两个标志 已设置。如果指定了 iid,则附加到该 iid 的对象是 返回,无论它是否可见或 过滤。
-index, int类型,默认None, 行的数字索引。
-iid,str类型, 默认None,唯一的列标识符。
-visible, bool类型,默认False, 使用显示的可见行的索引 在表中。
-filtered,bool类型,默认False, 使用筛选数据中行的索引 设置。
get_rows(self, visible=False, filtered=False, selected=False)返回 TableRow 对象的列表。基于可选标志返回行的子集。只能使用一个标志 一次。如果将多个标志设置为 ,则第一个标志将 用于返回数据。True
-visible, bool类型,默认False, 如果为True则仅返回当前视图中的记录。。
-filtered,bool类型,默认False, 如果为True则仅返回筛选数据集中的行。
-selected,bool类型,默认False, 如果为True则仅返回当前选定的行。
goto_xxx_page
方法说明
goto_first_page(self)使用第一页数据更新表
goto_last_page(self)使用最后一页数据更新表
goto_next_page(self)使用下一页数据更新表
goto_page(self, *_)转到由页面条目小部件指示的特定页面。
goto_prev_page(self)使用上一页数据更新表
hide_selected_XXX
方法描述
hide_selected_column(self, event=None, cid=None)从表视图中分离所选列。此方法 可能由窗口事件或指定列触发
-event Event类型,窗口单击事件,默认None
-cid int类型,唯一的列标识符通常为数字 原始数据集中列的索引。默认None
hide_selected_rows(self)隐藏当前选定的行
unhide_selected_column(self, event=None, cid=None)将所选列附加到表视图。此方法 可能由窗口事件或指定列触发 在原始数据中的索引处重新插入列 设置。
-event Event类型,窗口单击事件,默认None
-cid int类型,唯一的列标识符通常为数字 原始数据集中列的索引。默认None
insrert_XXX
方法描述
insert_column(self, index, text=‘’, image=‘’, command=‘’, anchor=‘w’, width=200, minwidth=20, stretch=False)插入新的一列,返回TableColumn表格对象
-index Union[int, str]类型,指定插入位置的数字索引列。可以使用字符串“end”将列插入最右侧的位置 索引超过列数将插入在最右边的位置。默认必填
-text str类型,页眉文本。默认’‘
-image PhotoImage类型,显示在页眉文本左侧的图像。默认’‘
-command Callable类型,单击标题按钮时调用的函数。默认’‘
-anchor str类型,页眉文本在页眉中的位置。一 的“e”、“w”、“center”。默认’w’
-width int类型,指定列的宽度(以像素为单位)。默认200
-minwidth int类型,指定列的最小宽度(以像素为单位)。默认20
-stretch bool类型,指定列宽是否应为 每当调整小部件大小或用户时进行调整 拖动列分隔符。默认False
insert_row(self, index=‘end’, values=[])在索引处的表视图中插入一行。您必须致电才能更新 当前视图。如果数据已过滤,则需要调用 。返回TableRow表格对象。Tableview.load_table_data()/Tableview.load_table_data(clear_filters=True)
-index Union[int, str]类型,指定插入位置的数字索引 数据集中的记录。您也可以使用字符串 “end”将记录追加到数据集的末尾。 如果索引超过记录计数,它将 追加到数据集的末尾。默认’end’
-values Iterable类型,要插入到数据集中的值的可迭代对象。 值列表隐含的列数 必须与数据集中的列数匹配 要显示的值。默认[]
insert_rows(self, index, rowdata)为 *row 中的每一行插入一个又一个索引。如果索引有 不存在,则记录将追加到表的末尾。 您还可以使用字符串“end”在末尾附加记录 的表。
-index Union[int, str]类型,数据集中记录位置之后的位置 将入。您可以使用数字索引或 字符串 ‘end’,它将记录附加到 数据集的结尾。默认必填
-rowdata List[Any, List]类型,要插入到表中的行值的列表。默认必填
例子:Tableview.insert_rows('end', ['one', 1], ['two', 2])
move_xxx
move_column_left(self, event=None, cid=None)将列向左移动一个位置。这可以触发 通过事件或传入 ,这是 相对于原始数据集的列的索引。cid
-event, Event类型, 应用程序单击事件,默认None
-cid, int类型, 唯一的列标识符;通常为 相对于原始数据集的列。,默认None
move_column_right(self, event=None, cid=None)将列向右移动一个位置。这可以触发 通过事件或传入 ,这是 相对于原始数据集的列的索引。cid
-event, Event类型, 应用程序单击事件,默认None
-cid, int类型, 唯一的列标识符;通常为 相对于原始数据集的列。,默认None
move_column_to_first(self, event=None, cid=None)将列移动到最左侧的位置。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid
-event, Event类型, 应用程序单击事件,默认None
-cid, int类型, 唯一的列标识符;通常为 相对于原始数据集的列。,默认None
move_column_to_last(self, event=None, cid=None)将列移动到最右侧的位置。这可以触发 通过事件或传入 ,这是 相对于原始数据集的列的索引。cid
-event, Event类型, 应用程序单击事件,默认None
-cid, int类型, 唯一的列标识符;通常为 相对于原始数据集的列。,默认None
move_row_down(self)将所选行在数据集中下移一个位置
move_selected_row_up(self)将所选行在数据集中上移一个位置
move_selected_rows_to_bottom(self)将所选行移动到数据集底部
move_selected_rows_to_top(self)将所选行移动到数据集的顶部
reset_XXX
方法描述
reset_column_filters(self)删除所有列级过滤器;取消隐藏所有列。
reset_column_sort(self)按原始插入索引显示所有列
reset_row_filters(self)删除所有行级别筛选器;取消隐藏所有行。
reset_row_sort(self)按原始插入索引显示所有表格行
reset_table(self)删除所有表数据筛选器和列排序
load_table_data/unload_table_data
load_table_data(self, clear_filters=False)# 将记录加载到表视图中。
unload_table_data(self)# 从表中卸载所有数据

参数:

名字类型描述违约
clear_filtersbool指定应清除表筛选器 在将数据加载到视图中之前。False
apply_table_stripes
apply_table_stripes(self, 
                    stripecolor)

向偶数表行添加条带,如 of(背景、前景)所示。任一元素都可能是 指定为 ,但两个元素都必须存在。stripecolor``None

参数:

名字类型描述违约
stripecolorTuple[str, str]要应用于表条带的颜色元组。这 元组表示(背景、前景)。必填
autoalign_columns
autoalign_columns(self)

根据 值。文本左对齐;数字右对齐。这 如果表中没有数据,则方法将不起作用。

autofit_columns
autofit_columns(self)

自动调整当前视图中的所有列

build_table_data
build_table_data(self, 
                 coldata, 
                 rowdata)

插入指定的列和行数据。

coldata 可以是字符串列名或字典 传递给方法的列设置。您可以在 coldata列表。insert_column

!!!警告“将擦除现有表数据。 此方法将完全重建基础表 使用新的列和行数据。任何现有数据都将丢失。

参数:

名字类型描述违约
coldataList[Union[str, Dict]]列名和/或设置的可迭代对象。必填
rowdataList行值的可迭代对象。必填
configure
configure(self, 
          cnf=None, 
          **kwargs)

配置内部微件。如果提供了 cnf, 选项的值为返回。否则,小部件是 通过 Kwargs 配置。Treeview

参数:

名字类型描述违约
cnfAny查询选项。None
**kwargsDict用于配置内部的可选关键字参数 树视图小组件。{}

返回:

类型描述
Union[Any, None]cnf 或“无”的值。
fill_empty_columns
fill_empty_columns(self, fillvalue='')

用填充值填充空列。

此方法可用于在列时填充缺失值 列在数据已插入后插入 表视图。

参数:

名字类型描述违约
fillvalueAny要插入到空列中的值''
filter_column_to_value
filter_column_to_value(self, 
                       event=None, 
                       cid=None, 
                       value=None)

隐藏除当前 列与提供的值完全匹配。此方法可以 由窗口事件或指定列 ID 触发。

参数:

名字类型描述违约
eventEvent窗口单击事件。None
cidint唯一的列标识符;通常为数字 原始数据集中列的索引。None
valueAny用于筛选列的条件。None
filter_to_selected_rows
filter_to_selected_rows(self)

隐藏除所选行之外的所有记录

purge_table_data(self)

擦除所有表和列数据。

此方法将完全破坏表数据结构。 使用此表后,需要完全重建该表 方法。

save_data_to_csv
save_data_to_csv(self, 
                 headers, 
                 records, 
                 delimiter=',')

将数据记录保存到 csv 文件。

参数:

名字类型描述违约
headersList[str]标头标签列表。必填
recordsList[Tuple[...]]表记录的列表。必填
delimiterstr用于分隔值的字符。','
sort_column_data
sort_column_data(self, 
                 event=None, 
                 cid=None, 
                 sort=None)

按指定列对表行进行排序。此方法 可能被事件触发或手动触发。

参数:

名字类型描述违约
eventEvent窗口事件。None
cidint唯一的列标识符;通常为数字 相对于原始数据集的列的索引。None
sortint确定排序方向。0 = 升序。1 = 降序。None

TableColumn表列

ttkbootstrap.tableview.TableColumn
表示表视图对象中的列

获取属性说明
cid唯一列标识符, 属性只读
columnsort指示排序时如何对列进行排序 调用方法。, 属性只读
displayindex显示的列的索引, 属性只读
headertext标题标签上的文本, 属性只读
tableindex列在表配置中的索引。, 属性只读
__init__
_init__(self, 
        tableview, 
        cid, 
        text, 
        image='', 
        command='', 
        anchor='w', 
        width=200, 
        minwidth=20, 
        stretch=False) special

参数:

名字类型描述违约
tableviewTableview父表视图对象。必填
cidstr列 ID。必填
textstr页眉文本。必填
imagePhotoImage显示在页眉文本左侧的图像。''
commandCallable单击标题按钮时调用的函数。''
anchorstr页眉文本在页眉中的位置。一 的“e”、“w”、“中心”。'w'
widthint指定列的宽度(以像素为单位)。200
minwidthint指定列的最小宽度(以像素为单位)。20
stretchbool指定列宽是否应为 每当调整小部件大小或用户时进行调整 拖动列分隔符。False
configure(self, opt=None, **kwargs)

配置列。如果提供了选项,则 返回当前值,否则设置小部件 夸格斯中指定的选项。有关可配置选项,请参阅文档。Tableview.insert_column

参数:

名字类型描述违约
optstr用于查询的配置选项。None
**kwargsDict用于配置 列和标题。{}
delete(self)

从表视图中永久删除该列。

hide(self)

隐藏表视图中的列

restore_settings(self)

根据存储的设置更新配置

show(self)

使列在表视图中可见

TableRow表行

ttkbootstrap.tableview.TableRow
代表表视图对象中的行

属性说明
iid唯一记录标识符, 属性只读
values表行值, 属性可写
__init__

__init__(self, tableview, values) special

参数:

名字类型描述违约
tableviewTableview包含此行的“表视图”小组件必填
valuesList[Any, ...]要在行中显示的值列表必填
build(self)

在 和 捕获中创建行对象 生成的项目 ID (IID)。Treeview

configure(self, opt=None, **kwargs)

配置行。如果提供了选项,则 返回当前值,否则设置小部件 夸格斯中指定的选项。有关可配置选项,请参阅文档。Tableview.insert_row

参数:

名字类型描述违约
optstr用于查询的配置选项。None
**kwargs{ values, tags }用于配置 排。{}
delete(self)

从数据集中删除行

hide(self)

从数据表视图中删除行

refresh(self)

将表视图值与对象值同步

show(self, striped=False)

在数据表视图中显示行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

士别三日,当挖目相待

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值