QListView如何添加列?

21

我该如何向QListView控件添加列?在搜索时发现了一个addColumn方法,但在我的Qt Creator 1.2.1(基于Qt 4.5.2(32位))中,QListView根本没有这样的方法!!!

那么我该如何添加列呢?

假设我有3列,那么添加一行的代码是什么?

4个回答

14
你可以使用 QTableView 来实现这个目的。但是如果你需要 QListView 的外观,你可以使用 Qt 样式表将 QTableView 设置为无边框。此外,你可能想要添加一个图标。你可以通过将图标数据设置为 Qt::DecorationRole 来向你的 QTableView 添加图标。

8

您不能添加列,因为列表视图被设计用于查看简单的列表。您需要使用QTable[View/Widget]。


6

QListWidget只支持单列。如果需要多列,请使用QTreeWidget/View


1

作为起点,您可以观看这里的QTableView类是如何工作的:http://qt.nokia.com/doc/4.2/sql-tablemodel.html,并使用QListView进行类似的操作。因此,您不能仅对QListView类发出addColumn(),首先需要创建模型,然后执行listView->setModel(model)


2
由于QListView的实现方式,它无法正常工作。它可以接受多列模型,但只会显示其中的一列。当您连接这样的模型时,您应该使用setModelColumn(index)来指定列表将显示哪一列。 - Maxim Popravko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接