如何将行号添加到QTreeView?

问题描述:

我想基于Qt编写一个简单的C++ IDE。像任何语言的IDE一样,行号在代码编辑器中非常有用。如何将行号添加到QTreeView?

我使用QTreeView作为编辑器,我想添加此行号功能。看起来像QTreeView::header()只会将Horizo​​ntal标题返回给我。我如何获得垂直标题设置QAbstractItemModel::headerData()的行号?

+2

你为什么要在编辑器控件中使用'QTreeView'?不应该是'QTextEdit'吗? – sashoalm

+0

'QTreeView'没有垂直标题。 – ecatmur

+0

我正在创建一种“新语言”,就像C++一样,但要简单得多。由于其语法足够简单,我希望人们可以在treeview小部件中编写代码。 – zhongzhu

没有垂直标题。如果您以这种方式使用QTreeView,则需要将行号视为与数据模型中每个项目关联的列数据(可能源自QAbstractItemModel)。每插入一行,您都必须遍历数据模型,并更新与插入行后面的每个数据项关联的行号。

在走这条路之前,我会下载QtCreator的源代码,并了解它的文件编辑器构件是如何构建的。

+0

谢谢佩恩!这对我很有用。只需调整列的颜色,使其更像垂直标题。 – zhongzhu