3500/headerView.h
2023-04-14 19:30:30 +08:00

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