我一直在玩弄Qt并遇到了一个小问题。
我想将图片列表显示为图标表。现在,我通过子类化 QAbstractTableModel 来做到这一点,并将其插入 QTableView 的子类中.
在我看来,这使代码、模型和 View 过于复杂(尤其是在尝试编辑/附加项目时)。当尝试将模型实现为QAbstractListModel时,项目显示为表格行。
有没有办法让 QTableView 将项目显示为列?
编辑:使得项目从左到右呈现在单行中,并换行到新行。
或者在任何情况下都最好使用 TableView 的表模型并解决问题?
值得一提的是,我正在使用基于 Qt Jambi 的 Qt C# 绑定(bind)。
最佳答案
QListView 具有您正在谈论的功能。
如果您不需要 QTableView 特有的任何功能,那么我建议切换。
如果设置“isWrapping”,则列表将从顶部开始,向下到底部,然后换行到新列。
将“flow”设置为 LeftToRight 以按行而不是按列显示列表
您可能还需要将“resizeMode”(而不是“固定”)设置为“调整”。当列表大小调整时,它将自动移动内容。
希望有帮助。
作为旁注,here是 FlowLayout 示例。因此,如果您只想在自动调整网格中显示一组图像,那么这将为您完成,而无需列表/表格的所有开销。但是,它不提供任何选择/编辑功能或任何布局。
关于qt - 在 QTableView 列中显示 QAbstractListModel 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432334/