• 8884阅读
  • 3回复

如何改变QTreeView中header以及内容的对齐方式 [复制链接]

上一主题 下一主题
离线mj1232
 

只看楼主 倒序阅读 楼主  发表于: 2010-12-03
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
 我用QTreeView造了表,我想把表中头部的某一项及其该项对应的列进行右对齐(就是改变该表header的其中一项对齐方式),请问如何实现?





 
离线apple_2006
只看该作者 1楼 发表于: 2012-06-14
model()->setHeaderData(列号, Qt::Horizontal, (int)(Qt::AlignRight|Qt::AlignVCenter), Qt::TextAlignmentRole );
可以试一下
学海无涯

只看该作者 2楼 发表于: 2016-03-09
楼主解决了吗
离线kimtaikee

只看该作者 3楼 发表于: 2016-03-10
从我的项目中截一段代码:
  1. QVariant XXXModel::headerData(int section, Qt::Orientation orientation, int role) const
  2. {
  3.     if (orientation == Qt::Horizontal && role == Qt::TextAlignmentRole)
  4.         return QVariant(Qt::AlignTop | Qt::AlignHCenter);
  5.     if (orientation == Qt::Vertical && role == Qt::TextAlignmentRole)
  6.         return QVariant(Qt::AlignLeft | Qt::AlignVCenter);
  7.     return QAbstractTableModel::headerData(section, orientation, role);
  8. }

效果如下图,就是横向表头的文字居顶加横向居中,竖向表头的文字居左加竖直居中。

快速回复
限100 字节
 
上一个 下一个