QColumnView 类
QColumnView类提供了列的视图的模型/视图实现。
Header: | #include < QColumnView > |
---|---|
qmake: | QT += widgets |
Inherits: | QAbstractItemView |
Inherited By: |
详述
QColumnView在许多QListViews中显示一个模型,每个QListViews对应树中的每个层次结构。这有时被称为级联列表。
QColumnView类是模型/视图类之一,是Qt的模型/视图框架的一部分。
QColumnView实现了QAbstractItemView类定义的接口,允许它显示由QAbstractItemModel类派生的模型提供的数据。
参见: Model/View Programming.
属性
- resizeGripsVisible: bool 指定列表视图是否获取调整大小的夹点
默认情况下,visible设置为true
公共函数
-
QColumnView(QWidget *parent = nullptr)
-
virtual ~QColumnView()
-
QList< int > columnWidths() const
-
void setColumnWidths(const QList< int > &list)
-
QWidget * previewWidget() const
-
void setPreviewWidget(QWidget *widget)
-
bool resizeGripsVisible() const
-
void setResizeGripsVisible(bool visible)
重新实现的公共函数
- virtual QModelIndex indexAt(const QPoint &point) const override
- virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override
- virtual void selectAll() override
- virtual void setModel(QAbstractItemModel *model) override
- virtual void setRootIndex(const QModelIndex &index) override
- virtual void setSelectionModel(QItemSelectionModel *newSelectionModel) override
- virtual QSize sizeHint() const override
- virtual QRect visualRect(const QModelIndex &index) const override
信号
- void updatePreviewWidget(const QModelIndex &index)
受保护的函数
- virtual QAbstractItemView * createColumn(const QModelIndex &index)
- void initializeColumn(QAbstractItemView *column) const
重新实现的受保护的函数
- virtual void currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override
- virtual int horizontalOffset() const override
- virtual bool isIndexHidden(const QModelIndex &index) const override
- virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
- virtual void resizeEvent(QResizeEvent *event) override
- virtual void rowsInserted(const QModelIndex &parent, int start, int end) override
- virtual void scrollContentsBy(int dx, int dy) override
- virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override
- virtual int verticalOffset() const override
- virtual QRegion visualRegionForSelection(const QItemSelection &selection) const override
示例
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QStandardItemModel standardModel;
QStandardItem *rootNode = standardModel.invisibleRootItem();
//defining a couple of items
QStandardItem *americaItem = new QStandardItem("America");
QStandardItem *mexicoItem = new QStandardItem("Canada");
QStandardItem *usaItem = new QStandardItem("USA");
QStandardItem *bostonItem = new QStandardItem("Boston");
QStandardItem *europeItem = new QStandardItem("Europe");
QStandardItem *italyItem = new QStandardItem("Italy");
QStandardItem *romeItem = new QStandardItem("Rome");
QStandardItem *veronaItem = new QStandardItem("Verona");
//building up the hierarchy
rootNode-> appendRow(americaItem);
rootNode-> appendRow(europeItem);
americaItem-> appendRow(mexicoItem);
americaItem-> appendRow(usaItem);
usaItem-> appendRow(bostonItem);
europeItem-> appendRow(italyItem);
italyItem-> appendRow(romeItem);
italyItem-> appendRow(veronaItem);
QColumnView view;
view.setModel(&standardModel);
view.show();
QTreeView tree;
tree.setModel(&standardModel);
tree.show();
qDebug() << view.width() << view.y();
tree.move(view.x() + view.width(),view.y());
return a.exec();
}