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)

设置是否启用排序。

相关推荐
宇木灵20 小时前
C语言基础-十、文件操作
c语言·开发语言·学习
云泽80821 小时前
C++ 多态入门:虚函数、重写、虚析构及 override/final 实战指南(附腾讯面试题)
开发语言·c++
yanghuashuiyue21 小时前
lambda+sealed+record
java·开发语言
yzx9910131 天前
Python数据结构入门指南:从基础到实践
开发语言·数据结构·python
衍生星球1 天前
【JSP程序设计】Servlet对象 — page对象
java·开发语言·servlet·jsp·jsp程序设计
扶苏瑾1 天前
线程安全问题的产生原因与解决方案
java·开发语言·jvm
小小小米粒1 天前
函数式接口 + Lambda = 方法逻辑的 “插拔式解耦”
开发语言·python·算法
风吹乱了我的头发~1 天前
Day31:2026年2月21日打卡
开发语言·c++·算法
蜜獾云1 天前
JAVA面试题速记-第1期-java基础
java·开发语言
百锦再1 天前
Java中的反射机制详解:从原理到实践的全面剖析
java·开发语言·jvm·spring boot·struts·spring cloud·kafka