主要重写HeaderView 。重写HeaderVie继承QHeaderView ,重写paintSection函数
代码如下:
#include <QtGui>
#include <QPainter>
#include <QHeaderView>
#include <QStyleOptionButton>
#include <QStyle>
#include <QCheckBox>
/// 复选框表头
class HeaderView : public QHeaderView
{
Q_OBJECT
private:
int m_checkColIndex; //列下标
QPoint m_topLeft; //勾选框起始坐标
QSize m_checkSize; //勾选框大小
bool m_isChecked; //勾选框状态
public:
HeaderView ( int checkColumnIndex, QPoint topLeft, QSize size, Qt::Orientation orientation, QWidget * parent = 0) : QHeaderView(orientation, parent)
{
m_checkColIndex = checkColumnIndex;
m_topLeft = topLeft;
m_checkSize = size;
m_isChecked = false;
}