#ifndef HEADERVIEW_H #define HEADERVIEW_H #include #include #include 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 m_columpnCheckedMap; //鍖呭惈澶嶉€夋鍒楃殑map瀹瑰櫒 }; #endif // HEADERVIEW_H