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]) | 使用方法添加数据 |
cidmap | cid 到表列对象的映射, 属性只读 Dict[str, ttkbootstrap.tableview.TableColumn] |
iidmap | iid 到表行对象的映射, 属性只读 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
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
master | Widget | 父小组件。 | None |
bootstyle | str | 用于设置条目焦点颜色的样式关键字 和日期按钮的背景色。可用 选项包括 ->primary, secondary, success, info, warning, danger, dark, light | 'default' |
coldata | `List[str | Dict]` | 包含标题名称或 列设置字典。可配置设置 包括>>text, image, command, anchor, width, minwidth, maxwidth, stretch文本、图像、命令、锚点、宽度、最小宽度、 最大宽度,拉伸。另请参阅。Tableview.insert_column |
rowdata | List | 行数据的可迭代对象。每行数据的长度 必须与列数匹配。另请参阅。Tableview.insert_row | [] |
paginated | bool | 指定要对数据进行分页。分页 框架将在表格下方创建,其中包含以下控件: 使用户能够在 数据集。 | False |
pagesize | int | 当 时,这将指定行数 以按页显示。paginated=True | 10 |
searchable | bool | 如果 ,则会在表上方创建一个搜索栏。 按键启动搜索。搜索 使用空字符串将重置搜索条件,或 按下搜索右侧的重置按钮 酒吧。目前,搜索方法查找任何行 包含搜索文本。过滤后的结果 显示在表视图中。True | False |
autofit | bool | 如果为 ,表列将自动调整大小 根据当前视图中的记录加载时。 另请参阅。True``Tableview.autofit_columns | False |
autoalign | bool | 如果为 ,则列标题和数据将自动 一致。数字和数字标题右对齐 所有其他数据类型都是左对齐的。汽车 对齐方法计算每列中的第一条记录 以确定对齐的数据类型。另请参阅。True``Tableview.autoalign_columns | True |
stripecolor | Tuple[str, str] | 如果提供,偶数编号的行将使用 (背景、前景)指定。您可以指定一个 或另一个通过传入 无.例如,将设置条带 背景为绿色,但前景将保持为 违约。您可以使用标准和颜色名称,十六进制 颜色代码或引导样式颜色关键字。例如 (“光”,“#222”)会将背景设置为“光” 主题 TTK引导颜色和前景 指定的十六进制颜色。另请参阅。stripecolor=('green', None)``Tableview.apply_table_stripes | None |
height | int | 指定将在表的视口中显示的行数。 如果记录数超出表高度, 用户可以使用鼠标滚轮或滚动条进行导航 数据。 | 10 |
delimiter | str | 导出数据时用作分隔符的字符 到 CSV。 | ',' |
align_column_XXX
方法 | 说明 |
---|---|
align_column_center | 居中对齐列文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid - event ,Event 类型,应用程序事件,默认None - cid , int 类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None |
align_column_left(self, event=None, cid=None) | 左对齐列文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid - event ,Event 类型,应用程序事件,默认None - cid , int 类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None |
align_column_right(self, event=None, cid=None) | 右对齐列文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的列。cid - event ,Event 类型,应用程序事件,默认None - cid , int 类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None |
align_heading_XXX
方法 | 描述 |
---|---|
align_heading_center(self, event=None, cid=None) | 将标题文本居中对齐。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的标题。cid - event ,Event 类型,应用程序事件,默认None - cid , int 类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None |
align_heading_left(self, event=None, cid=None) | 左对齐标题文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的标题。cid - event ,Event 类型,应用程序事件,默认None - cid , int 类型,唯一的列标识符;通常为 相对于原始数据集的列,默认None |
align_heading_right(self, event=None, cid=None) | 右对齐标题文本。这可以由 要么是事件,要么是通过传入 ,这是索引 相对于原始数据集的标题。cid - event ,Event 类型,应用程序事件,默认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_filters | bool | 指定应清除表筛选器 在将数据加载到视图中之前。 | False |
apply_table_stripes
apply_table_stripes(self,
stripecolor)
向偶数表行添加条带,如 of(背景、前景)所示。任一元素都可能是 指定为 ,但两个元素都必须存在。stripecolor``None
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
stripecolor | Tuple[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
!!!警告“将擦除现有表数据。 此方法将完全重建基础表 使用新的列和行数据。任何现有数据都将丢失。
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
coldata | List[Union[str, Dict]] | 列名和/或设置的可迭代对象。 | 必填 |
rowdata | List | 行值的可迭代对象。 | 必填 |
configure
configure(self,
cnf=None,
**kwargs)
配置内部微件。如果提供了 cnf, 选项的值为返回。否则,小部件是 通过 Kwargs 配置。Treeview
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
cnf | Any | 查询选项。 | None |
**kwargs | Dict | 用于配置内部的可选关键字参数 树视图小组件。 | {} |
返回:
类型 | 描述 |
---|---|
Union[Any, None] | cnf 或“无”的值。 |
fill_empty_columns
fill_empty_columns(self, fillvalue='')
用填充值填充空列。
此方法可用于在列时填充缺失值 列在数据已插入后插入 表视图。
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
fillvalue | Any | 要插入到空列中的值 | '' |
filter_column_to_value
filter_column_to_value(self,
event=None,
cid=None,
value=None)
隐藏除当前 列与提供的值完全匹配。此方法可以 由窗口事件或指定列 ID 触发。
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
event | Event | 窗口单击事件。 | None |
cid | int | 唯一的列标识符;通常为数字 原始数据集中列的索引。 | None |
value | Any | 用于筛选列的条件。 | 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 文件。
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
headers | List[str] | 标头标签列表。 | 必填 |
records | List[Tuple[...]] | 表记录的列表。 | 必填 |
delimiter | str | 用于分隔值的字符。 | ',' |
sort_column_data
sort_column_data(self,
event=None,
cid=None,
sort=None)
按指定列对表行进行排序。此方法 可能被事件触发或手动触发。
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
event | Event | 窗口事件。 | None |
cid | int | 唯一的列标识符;通常为数字 相对于原始数据集的列的索引。 | None |
sort | int | 确定排序方向。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
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
tableview | Tableview | 父表视图对象。 | 必填 |
cid | str | 列 ID。 | 必填 |
text | str | 页眉文本。 | 必填 |
image | PhotoImage | 显示在页眉文本左侧的图像。 | '' |
command | Callable | 单击标题按钮时调用的函数。 | '' |
anchor | str | 页眉文本在页眉中的位置。一 的“e”、“w”、“中心”。 | 'w' |
width | int | 指定列的宽度(以像素为单位)。 | 200 |
minwidth | int | 指定列的最小宽度(以像素为单位)。 | 20 |
stretch | bool | 指定列宽是否应为 每当调整小部件大小或用户时进行调整 拖动列分隔符。 | False |
configure(self, opt=None, **kwargs)
配置列。如果提供了选项,则 返回当前值,否则设置小部件 夸格斯中指定的选项。有关可配置选项,请参阅文档。Tableview.insert_column
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
opt | str | 用于查询的配置选项。 | None |
**kwargs | Dict | 用于配置 列和标题。 | {} |
delete(self)
从表视图中永久删除该列。
hide(self)
隐藏表视图中的列
restore_settings(self)
根据存储的设置更新配置
show(self)
使列在表视图中可见
TableRow表行
ttkbootstrap.tableview.TableRow
代表表视图对象中的行
属性 | 说明 |
---|---|
iid | 唯一记录标识符, 属性只读 |
values | 表行值, 属性可写 |
__init__
__init__(self, tableview, values)
special
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
tableview | Tableview | 包含此行的“表视图”小组件 | 必填 |
values | List[Any, ...] | 要在行中显示的值列表 | 必填 |
build(self)
在 和 捕获中创建行对象 生成的项目 ID (IID)。Treeview
configure(self, opt=None, **kwargs)
配置行。如果提供了选项,则 返回当前值,否则设置小部件 夸格斯中指定的选项。有关可配置选项,请参阅文档。Tableview.insert_row
参数:
名字 | 类型 | 描述 | 违约 |
---|---|---|---|
opt | str | 用于查询的配置选项。 | None |
**kwargs | { values, tags } | 用于配置 排。 | {} |
delete(self)
从数据集中删除行
hide(self)
从数据表视图中删除行
refresh(self)
将表视图值与对象值同步
show(self, striped=False)
在数据表视图中显示行