File indexing completed on 2026-09-25 09:26:22
0001
0002
0003
0004
0005 #ifndef QCOLUMNVIEW_H
0006 #define QCOLUMNVIEW_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qabstractitemview.h>
0010
0011 QT_REQUIRE_CONFIG(columnview);
0012
0013 QT_BEGIN_NAMESPACE
0014
0015 class QColumnViewPrivate;
0016
0017 class Q_WIDGETS_EXPORT QColumnView : public QAbstractItemView {
0018
0019 Q_OBJECT
0020 Q_PROPERTY(bool resizeGripsVisible READ resizeGripsVisible WRITE setResizeGripsVisible)
0021 Q_PROPERTY(bool previewColumnVisible READ isPreviewColumnVisible WRITE setPreviewColumnVisible)
0022
0023 Q_SIGNALS:
0024 void updatePreviewWidget(const QModelIndex &index);
0025
0026 public:
0027 explicit QColumnView(QWidget *parent = nullptr);
0028 ~QColumnView();
0029
0030
0031 QModelIndex indexAt(const QPoint &point) const override;
0032 void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) override;
0033 QSize sizeHint() const override;
0034 QRect visualRect(const QModelIndex &index) const override;
0035 void setModel(QAbstractItemModel *model) override;
0036 void setSelectionModel(QItemSelectionModel * selectionModel) override;
0037 void setRootIndex(const QModelIndex &index) override;
0038 void selectAll() override;
0039
0040
0041 void setResizeGripsVisible(bool visible);
0042 bool resizeGripsVisible() const;
0043 void setPreviewColumnVisible(bool visible);
0044 bool isPreviewColumnVisible() const;
0045
0046 QWidget *previewWidget() const;
0047 void setPreviewWidget(QWidget *widget);
0048
0049 void setColumnWidths(const QList<int> &list);
0050 QList<int> columnWidths() const;
0051
0052 protected:
0053 QColumnView(QColumnViewPrivate &dd, QWidget *parent = nullptr);
0054
0055
0056 bool isIndexHidden(const QModelIndex &index) const override;
0057 QModelIndex moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override;
0058 void resizeEvent(QResizeEvent *event) override;
0059 void setSelection(const QRect & rect, QItemSelectionModel::SelectionFlags command) override;
0060 QRegion visualRegionForSelection(const QItemSelection &selection) const override;
0061 int horizontalOffset() const override;
0062 int verticalOffset() const override;
0063 void rowsInserted(const QModelIndex &parent, int start, int end) override;
0064 void currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override;
0065
0066
0067 void scrollContentsBy(int dx, int dy) override;
0068 virtual QAbstractItemView* createColumn(const QModelIndex &rootIndex);
0069 void initializeColumn(QAbstractItemView *column) const;
0070
0071 private:
0072 Q_DECLARE_PRIVATE(QColumnView)
0073 Q_DISABLE_COPY(QColumnView)
0074 };
0075
0076 QT_END_NAMESPACE
0077
0078 #endif
0079