Qt翻译-QHeaderView Class

QHeaderView为itemview提供了一个行头或列头

详细描述

一个QheaderView类用在项目视图中,比如QTableView和QTreeView类中,可以显示列头或者行头,它取代了Qt3的Qheader类,但是使用Qt的模型/视图架构来保持与项目视图类的一致性
QHeaderView类是模型/视图类的一部分,还是Qt的模型/视图框架中的一部分
头通过使用QAbstractitemModel::headerData()函数来从模型的每一片中得到数据,你可以使用QAbstractItemModel::setHeaderData()函数来设置头的数据
每一个头都有一个防线和一定数量的区域,区域的数量由count()函数来获取,区域是头的一部分,不管是行还是列,取决于方向
区域可以通过moveSection()和resizeSection()函数来对头进行移动和重新设宽度,同样也可以使用hideSection()和showSection函数进行隐藏和显示头
每一个头的区域都由区域ID进行描述,尤其通过它的section()函数,可以在头中使用visualindex()函数来对区域进行定位,每一个区域可以使用setSortindicator()来设置一个排序方法,它可以指示项目视图中的区域应该使用哪一种排序方式进行排序。
对于水平标头,该部分相当于模型中的列,对于垂直标题,该部分相当于模型中的一行。

Moving Header Sections
一个头可以被固定在一个区域中,或者通过函数setSectionsMovable()来设置是否这个区域是可以移动的,使用setSectionsClickable()函数来设置是否是可以点击的,通过使用setSectionResizeMode()函数来设置是否可以改变大小
注意:双击头来实现调整宽度仅可以应用在有效的行中
一个头在用户移动区域的时候会发射sectionMoved()信号,调整大小会发射sectionResized()函数,点击和双击的时候回发射sectionClicked()信号和sectionHandleDoubleClicked()信号,头还会发射sectionCountChanged()函数。
你可以使用logicalIndex()和logicalIndexAt()函数来识别一个区域,或者使用visualIndex()函数和visualindex()函数来确定区域的index位置,视觉inde将会移动,但是逻辑位置将不会移动

附录
QTableWidget和QTableView提供默认的头,如果你想让头可见,可以使用Visible()函数
不是所有的项目数据规则都会对QHeaderView产生效果,如果你想绘制其他的规则,你可以派生QHeaderView的子类且重写paintEvent()函数,QHeaderView会涉及到下面的数据规则: TextAlignmentRole, DisplayRole, FontRole, DecorationRole, ForegroundRole和Background
注意:头的渲染是靠自己的,而不是靠委托,所以委托对头没有影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值