问题描述
|
我一直在玩弄Qt,遇到了一个小问题。
我想将图片列表显示为图标表。现在,我通过子类化QAbstractTableModel并将其插入QTableView的子类中来实现此目的。
我认为,这会使代码,模型和视图过于复杂(尤其是在尝试编辑/附加项目时)。尝试将模型实现为QAbstractListModel时,项目显示为表格行。
有没有一种方法可以使QTableView将项目显示为列?
编辑:这样,项目将在从左到右的一行中呈现,并包装到新行中。
还是在任何情况下都将表模型用于表视图并解决问题?
值得一提的是,我正在基于Qt Jambi的Qt使用C#绑定。
解决方法
QListView具有您正在谈论的功能。
如果您不需要特定于QTableView的任何功能,那么我建议您进行切换。
如果设置\“ isWrapping \”,则列表将从顶部开始,向下到底部,然后环绕到新列。
将\“ flow \”设置为LeftToRight以在行而不是列中显示列表
您可能还需要将\“ resizeMode \”(而不是固定的)设置为Adjust。调整列表大小时,它将自动移动内容。
希望能有所帮助。
只是附带说明,这是FlowLayout示例。因此,如果您只想在自调整网格中显示一组图像,这将为您做到这一点,而无需列表/表的所有开销。但是,它没有提供任何选择/编辑功能或仅提供布局功能。
, 我在这里不明白。您实现了TableModel,因此可以以最理想的方式准备数据以供查看。假设您有数据A,B,C,D,则可以返回A(00),B(01),C(10),D(11),或者例如返回A(00),C(01),B (10),D(11)。这是你想做的吗?