QT之QTableView的简介

QT之QTableView的简介

QTableView 是 Qt 框架中的一个类,用于显示和编辑表格数据。它提供了一个灵活的模型/视图架构,允许用户以不同的方式显示和编辑数据。
以下是 QTableView 的一些常用函数及其用法:

1)QTableView(QWidget *parent = nullptr)

构造函数,创建一个新的 QTableView 对象。parent 参数是指向父窗口的指针,如果省略,则 QTableView 没有父窗口。

2)void setModel(QAbstractItemModel *model)

设置 QTableView 使用的模型。模型包含要在 QTableView 中显示的数据。

3)QAbstractItemModel *model() const

返回当前使用的模型。

4)void setSelectionBehavior(SelectionBehavior behavior)

设置选择行为。可以选择单个单元格、整行或整列。

5)SelectionBehavior selectionBehavior() const

返回当前的选择行为。

6)void setEditTriggers(EditTriggers triggers)

设置何时进入编辑模式。可以根据单击、双击、按下回车键等方式触发。

7)EditTriggers editTriggers() const

返回当前的编辑触发器。

8)void setSortingEnabled(bool enable)

设置是否启用排序。如果启用,用户可以通过点击表头来对数据进行排序。

9)bool isSortingEnabled() const

返回当前是否启用排序。

10)void setWordWrap(bool enable)

设置是否启用单元格内文本的自动换行。

11)bool wordWrap() const

返回当前是否启用单元格内文本的自动换行。

12)void setRowHeight(int height)

设置所有行的高度。

13)int rowHeight() const

返回当前行的高度。

14)void setColumnWidth(int columnIndex, int width)

设置指定列的宽度。

15)int columnWidth(int columnIndex) const

返回指定列的宽度。

16)void resizeColumnToContents(int columnIndex)

将指定列调整为适应其内容的大小。

17)void resizeRowToContents(int rowIndex)

将指定行调整为适应其内容的大小。

18)void setHorizontalScrollMode(ScrollMode mode)

设置水平滚动模式。可以选择不滚动、滚动到下一个单元格、滚动到下一页等方式。

19)ScrollMode horizontalScrollMode() const

返回当前的水平滚动模式。

20)void setVerticalScrollMode(ScrollMode mode)

设置垂直滚动模式。可以选择不滚动、滚动到下一个单元格、滚动到下一页等方式。

21)ScrollMode verticalScrollMode() const

返回当前的垂直滚动模式。

22)void setAlternatingRowColors(bool enable)

设置是否启用交替行颜色。如果启用,QTableView 会自动为奇数行和偶数行设置不同的背景颜色。

23)bool alternatingRowColors() const

返回当前是否启用交替行颜色。

24)void setSelectionMode(SelectionMode mode)

设置选择模式。可以选择单选、多选等方式。

25)SelectionMode selectionMode() const

返回当前的选择模式。

26)void setItemDelegate(QAbstractItemDelegate *delegate)

设置用于绘制和编辑单元格的代理。

27)QAbstractItemDelegate *itemDelegate() const

返回当前的代理。

28)void setSortingEnabled(bool enable)

设置是否启用排序。

相关推荐
小徐不徐说4 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang4 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3274 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102165 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷5 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang5 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5206 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵8 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
jimy19 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++