垂直布局QTableView的范例
Paradigmatic way to layout QTableView vertically
我有一个QTableView
,它显示了一个有许多列的模型。
模型包含vector<my_item_with_lots_of_fields>
;对于大多数应用,vector
的大小小于5。
出于美观的考虑,将模型翻转,使每个条目从上到下运行会更好。
一个肮脏的解决方案是更改模型,以便交换行和列索引。不幸的是,这会破坏访问模型的其他小部件。
是否有一些简单的,典型的方法来实现这种效果而不改变底层模型?也许是为了改变小部件?
我认为一种方法是为此创建一个代理模型。然后,您需要做两个更改:
1)数据方法
QVariant MyProxyModel::data(const QModelIndex & index,
int role = Qt::DisplayRole) const
{
return myTableModel::data(QModelIndex(index.column(), index.row()), role);
}
2) headerData方法
QVariant MyProxyModel::headerData(int section, Qt::Orientation orientation,
int role = Qt::DisplayRole) const
{
return myTableModel::headerData(section,
orientation == Qt::Horizontal ? Qt::Vertical : Qt::Horizontal, role);
}
相关文章:
- QTableView:endMoveRows在模型中重置水平页眉大小
- 将QIcon添加到QTableView单元格
- 如何在QTableView中排序和更改日期格式
- QTableview Search
- QTableView 拉伸标头,但保持交互性
- qtableView 在订购项目到达时添加和显示它们任意?
- visual MSVC cl.exe尝试使用C++标头范例(定义与声明)
- QTableView 不会更新数据
- 将自定义样式添加到 QTableview 中添加的按钮
- QTableView:即时更改行计数
- 如何对QTableView忽略大小写进行排序
- 如何在QT中的QtableView中找到我的按钮的行号
- 当在QTableView上丢失焦点时,失去背景颜色
- Qt - 为什么 QTableView 会丢失其模型()
- 为什么QTableView扩展选择忽略了我的默认选择行
- 绘制QTableView的背景(带有自定义QStyleDitemdelegate)
- 如何将QTableView的水平标题设置为默认顺序?
- 是否有一种方法可以将QTableView模型转换为QstandardItemModel
- Qt在QTableView中设置自定义小部件
- 垂直布局QTableView的范例