QML TableView(Qt_6_5_3_MinGW_64)

server/2024/11/25 5:21:37/

P1:alternatingRows : bool

P1就是Properties 1,第1个属性的意思 ~ 后面不再赘述 ~

作用:行背景色是否交替显示

background: Rectangle {color: control.row === control.tableView.currentRow? control.palette.highlight: (control.tableView.alternatingRows && control.row % 2 !== 0? control.palette.alternateBase: control.palette.base)}

P2:animate : bool

可以设置此属性来控制TableView是否应为contentItem(contentX和contentY)设置动画。positionViewAtCell() 和用键盘导航当前索引时使用它。默认值为true。如果设置为false,任何正在进行的动画都将立即停止。

P3:bottomRow : int

此属性包含视图中当前可见的最底部行。同用途的还有:topRowleftColumnrightColumn

P4:columnSpacing : real

此属性保存列之间的间距。默认值为0。

P5:columnWidthProvider : var

此属性可以包含一个函数,该函数返回模型中每一列的列宽每当TableView需要知道特定列的宽度时,就会调用它。该函数接受一个参数column,TableView需要知道其宽度。
从Qt 5.13开始,如果你想隐藏一个特定的列,你可以为该列返回0宽度。如果返回负数,TableView将根据委托项计算宽度。

注意:当要加载列时(或进行布局时),通常会调用columnWidthProvider两次。首先,要知道列是否可见,是否应该加载。其次,在加载所有项目后确定列的宽度。如果需要根据委托项的大小计算列宽,则需要等待第二次调用,此时所有项都已加载。您可以通过调用isColumnLoaded(column)来检查这一点,如果还不是这样,只需返回-1即可。

另请参见rowHeightProvider、isColumnLoaded()以及行高度和列宽。

P6: columns : int

此属性保存表中的列数。

注意:列数通常等于模型中的列数,但在处理完所有挂起的模型更改之前,可能会暂时不同。

如果模型是列表,则列将为1。
此属性是只读的。

P7: contentHeight : real

此属性包含容纳数据模型中行数所需的表高度。这通常与视图的高度不同,这意味着表的高度可能大于或小于视口高度。由于TableView在不加载模型中的所有行的情况下无法始终知道表的确切高度,因此contentHeight通常是基于最初加载的表的估计值。
如果知道表的高度,请为contentHeight赋值,以避免对TableView进行不必要的计算和更新。
另请参见 contentWidth 和rowHeightProvider。 

P8: currentColumn : int

此只读属性保存视图中包含当前项的列。如果没有当前项目,则为-1。

注意:为了让TableView报告当前列是什么,您需要为selectionModel分配一个ItemSelectionModel。

另请参见当前行、选择模型和选择项目。

P9: delegate : Component

委托提供了一个模板,定义了视图实例化的每个单元格项。模型索引作为可访问的索引属性公开。这同样适用于行和列。根据数据模型的类型,模型的属性也可用。
代理应使用implicitWidth和implicitHeight指定其大小。TableView根据该信息布局项目。显式的宽度或高度设置将被忽略并覆盖。
在委托内部,您可以选择添加以下一个或多个属性。TableView修改这些属性的值,以通知委托它所处的状态。委托可以使用此属性根据自己的状态以不同的方式呈现自己。

必需属性bool current-如果委托是当前的,则为true。
必填属性bool selected-如果选择了委托,则为true。
必需的属性bool editing-如果正在编辑委托,则为true。

 delegate: Rectangle {required property bool currentrequired property bool selectedborder.width: current ? 1 : 0color: selected ? palette.highlight : palette.base}

P10: editTriggers : enumeration

此属性包含用户开始编辑单元格的不同方式。它可以是以下值的组合:

TableView.NoEditTriggers

用户不能触发单元格的编辑。设置此值后,TableView将不会打开或关闭编辑委托作为对任何用户交互的响应。但是应用程序可以手动调用edit()和closeEditor()。

TableView.SingleTapped

 用户可以通过单次点击来编辑单元格。

TableView.DoubleTapped

 用户可以通过双击来编辑单元格。

TableView.SelectedTapped

 用户可以通过点击来编辑所选单元格。

TableView.EditKeyPressed

 -用户可以通过按下其中一个编辑键来编辑当前单元格。编辑键由操作系统决定,但通常是Qt::Key_Enter和Qt::Key_Return。

TableView.AnyKeyPressed

 -用户可以通过按下除单元格导航键之外的任何键来编辑当前单元格。按下的键也会发送到编辑委托内的焦点对象。

P11: keyNavigationEnabled : bool

可以设置此属性来控制用户是否可以使用键盘更改当前索引。默认值为true。

注意:为了使TableView支持键盘导航,您需要为selectionModel分配一个ItemSelectionModel。

P12: model : model

此属性包含为表提供数据的模型。
该模型提供了用于在视图中创建项目的数据集。模型可以直接在QML中使用TableModel、ListModel、ObjectModel创建,也可以由自定义的C++模型类提供。C++模型必须是QAbstractItemModel的子类或简单列表。

P13: pointerNavigationEnabled : bool

此属性可以设置为控制用户是否可以使用鼠标或触摸更改当前索引。默认值为true。
此属性在Qt 6.4中引入。

P14: resizableColumns : bool

此属性保存是否允许用户通过在单元格之间拖动来调整列的大小默认值为false。
此属性在Qt 6.5中引入。


P15: reuseItems : bool

他的属性决定了是否应该重用从委托实例化的项。如果设置为false,则销毁当前共享的任何项目。
另请参见重用项、TableView::pooled和TableView::reused。 

P16: selectionBehavior : enumeration

此属性保存用户是否可以选择单个单元格、行或列。

TableView.SelectionDisabled

用户不能执行选择。

TableView.SelectCells

用户可以选择单个单元格。(默认)

TableView.SelectRows

用户只能选择行。

TableView.SelectColumns

用户只能选择列。

P17: selectionModel : ItemSelectionModel

可以设置此属性来控制哪些委托项应显示为选中,哪些项应显示为主选项。如果委托定义了必填属性bool selected,TableView将使其与选择模型中相应模型项的选择状态保持同步。如果委托定义了必需的属性bool current,TableView将使其与selectionModel currentIndex保持同步。

P18: syncDirection : Qt::Orientations

如果在TableView上设置了syncView,则此属性控制两个表的滑动方向的同步。默认值为Qt。水平|数量。垂直,这意味着如果你在任何一个方向上轻击任何一张桌子,另一张桌子也会在同一方向上以相同的量轻击。
此属性和syncView可用于使两个表视图在轻弹时平滑同步,而不管不同的过冲/下冲、速度、加速/减速或反弹动画等。
一个典型的用例是让几个标题随着表格一起滚动。
另请参见syncView。 

P19: syncView : TableView 

如果将TableView的此属性设置为另一个TableView,则两个表将根据syncDirection在轻拂、列宽/行高和间距方面同步。
如果syncDirection包含Qt。水平方向上,当前tableView的列宽、列间距和水平轻拂移动与syncView同步。
如果syncDirection包含Qt。垂直方向上,当前tableView的行高、行间距和垂直轻拂移动与syncView同步。
另请参见syncDirection。 

解释有些抽象,比如标题栏

syncView: tableView_4   //同步视图: 指定是谁的标题栏

http://www.ppmy.cn/server/144712.html

相关文章

【教学类-18-05】20241118正方形手工纸(蒙德里安-风格派-红黄蓝黑白)

背景需求: 制作世界风景名画手工纸时,遇到蒙德里安格子画无法生成的问题。 【教学类-70-01】20241118通义万相生成“世界风景名画”手工纸(4款图片3种尺寸)-CSDN博客文章浏览阅读711次,点赞20次,收藏5次。…

windows C#-异步编程模型(下)

API 异步方法 你可能想知道从何处可以找到 GetStringAsync 等支持异步编程的方法。 .NET Framework 4.5 或更高版本以及 .NET Core 包含许多可与 async 和 await 结合使用的成员。 可以通过追加到成员名称的“Async”后缀和 Task 或 Task<TResult> 的返回类型&#xff0…

聊一聊Elasticsearch的索引(1)

本文主要对ES索引的映射、路由规则、别名、滚动索引进行整理和介绍。 1、映射 ES是通过索引映射来建立索引结构&#xff0c;索引映射相当于数据库的数据字典&#xff0c;定义了每个字段的名称以及所能保存的数据类型。 索引的映射创建后&#xff0c;后续还可以在映射上添加新…

数据结构(C语言版)-2.栈和队列

顺序存储结构实现 SeqString.h #ifndef __SEQSTRING_H__ #define __SEQSTRING_H__ #define MAXSIZE 256 typedef struct {char data[MAXSIZE];int len; }SeqString;int StrLength(char *s); int StrCat(char s1[],char s2[]); int SubStr(char* s, char t[], int i, int len); …

如何在 Ubuntu 22.04 上安装带有 Nginx 的 ELK Stack

今天我们来聊聊如何在 Ubuntu 22.04 服务器上安装 ELK Stack&#xff0c;并集成 Nginx 作为 Web 服务器&#xff0c;同时使用 Let’s Encrypt Certbot 进行 SSL 认证。ELK Stack&#xff0c;包括 Elasticsearch、Logstash 和 Kibana&#xff0c;是一套强大的工具&#xff0c;用…

长文解读:OSAID 1.0,全球首个开源AI标准,审视探讨其对AI行业实践开源的影响

引言 在人工智能&#xff08;AI&#xff09;的快速发展中&#xff0c;开源已经成为推动技术创新和知识共享的重要力量。随着AI技术的广泛应用&#xff0c;确保其开放性、透明性和可访问性变得至关重要。在这样的背景下&#xff0c;OSAID 1.0&#xff08;Open Source AI Defini…

Java语言程序设计 选填题知识点总结

第一章 javac.exe是JDK提供的编译器public static void main (String args[])是Java应用程序主类中正确的main方法Java源文件是由若干个书写形式互相独立的类组成的Java语言的名字是印度尼西亚一个盛产咖啡的岛名Java源文件中可以有一个或多个类Java源文件的扩展名是.java如果…

[数组双指针] 0167. 两数之和 II - 输入有序数组

文章目录 1. 题目链接2. 题目大意3. 示例4. 解题思路5. 参考代码 1. 题目链接 167. 两数之和 II - 输入有序数组 - 力扣&#xff08;LeetCode&#xff09; 2. 题目大意 描述&#xff1a;给定一个下标从 1 开始计数、升序排列的整数数组&#xff1a;numbers 和一个目标值 targ…