48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#ifndef HEADERVIEW_H
|
|
#define HEADERVIEW_H
|
|
|
|
#include <QObject>
|
|
#include <QHeaderView>
|
|
#include <QMap>
|
|
|
|
class CHeaderView : public QHeaderView
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/**
|
|
* @brief CHeaderView 鏋勯€犲嚱鏁 * @param orientation 鏂瑰悜
|
|
* @param parent 鐖剁被瀵硅薄
|
|
*/
|
|
CHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr);
|
|
|
|
/**
|
|
* @brief setColumnCheckable 璁剧疆鎸囧畾鍒楁槸鍚﹀彲閫 * @param column 鎸囧畾鍒 * @param checkable 鍙€夊€ */
|
|
void setColumnCheckable(int column, bool checkable);
|
|
|
|
bool getColumnCheckable(int column);
|
|
|
|
signals:
|
|
/**
|
|
* @brief columnSectionClicked Section鐐瑰嚮淇″彿
|
|
* @param logicalIndex 鐐瑰嚮浣嶇疆
|
|
* @param checked 閫変腑鍊 */
|
|
void columnSectionClicked(int logicalIndex, bool checked);
|
|
|
|
// QHeaderView interface
|
|
protected:
|
|
/**
|
|
* @brief paintSection 缁樺埗澶嶉€夋
|
|
* @param painter 缁樺埗瀵硅薄
|
|
* @param rect 缁樺埗鍖哄煙
|
|
* @param logicalIndex 褰撳墠绱㈠紩浣嶇疆
|
|
*/
|
|
void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const;
|
|
|
|
private:
|
|
QMap<int, bool> m_columpnCheckedMap; //鍖呭惈澶嶉€夋鍒楃殑map瀹瑰櫒
|
|
|
|
};
|
|
|
|
#endif // HEADERVIEW_H
|
|
|