2

我一直在玩弄Qt并遇到了一个小问题。

我想将图片列表显示为图标表。现在,我通过继承 QAbstractTableModel并将其插入QTableView的子类来做到这一点。

在我看来,这会使代码、模型和视图过于复杂(尤其是在尝试编辑/附加项目时)。当尝试将模型实现为QAbstractListModel时,项目将显示为表格行。

有没有办法让 QTableView 将项目显示为列?
编辑:使得项目从左到右呈现在单行中,并包装到新行。

还是在任何情况下都最好将表模型用于表视图并解决这些问题?

值得一提的是,我正在使用基于 Qt Jambi 的 Qt 的 C# 绑定。

4

2 回答 2

3

QListView 具有您正在谈论的功能。

如果您不需要任何特定于 QTableView 的功能,那么我建议您切换。

如果设置“isWrapping”,则列表将从顶部开始,向下到底部,然后换行到新列。

将“流”设置为 LeftToRight 以按行而不是按列显示列表

您可能还需要将“resizeMode”设置为 Adjust,而不是 Fixed。当列表调整大小时,它会自动移动东西。

希望有帮助。

顺便说一句,这里是 FlowLayout 示例。因此,如果您只想在自调整网格中显示一组图像,这将为您完成,而无需列表/表格的所有开销。但是,它不提供任何选择/编辑功能或任何布局。

于 2011-06-22T21:06:24.493 回答
0

我不明白这里的东西。您实现 TableModel,因此您可以以最理想的方式准备数据以供查看。假设你有数据 A,B,C,D,那么你可以返回 A(00),B(01),C(10),D(11),或者例如 A(00),C(01),B (10),D(11)。这是你想做的吗?

于 2011-06-22T10:48:44.730 回答