
This slot is called whenever columns are added or deleted. void QTableView:: columnCountChanged( int oldCount, int newCount) Member Function Documentation QTableView:: QTableView( QWidget * parent = nullptr)Ĭonstructs a table view with a parent to represent the data. See also QTableWidget, View Classes, QAbstractItemModel, QAbstractItemView, Chart Example, Pixelator Example, and Table Model Example.

The columnAt() and columnViewportPosition() functions provide the equivalent conversion operations between x-coordinates and column indexes. The rowAt() function provides the y-coordinate within the view of the specified row the row index can be used to obtain a corresponding y-coordinate with rowViewportPosition(). To distribute the available space according to the space requirement of each column or row, call the view's resizeColumnsToContents() or resizeRowsToContents() functions.įor some specialized forms of tables it is useful to be able to convert between row and column indexes and widget coordinates. Access the relevant header using horizontalHeader() or verticalHeader() and set the header's stretchLastSection property. You can make the cells fill the available space by stretching the last header section. Widgets are set for particular indexes with the setIndexWidget() function, and later retrieved with indexWidget().īy default, the cells in a table do not expand to fill the available space. However, for some tasks it is sometimes useful to be able to insert widgets in a table instead. The items shown in a table view, like those in the other item views, are rendered and edited using standard delegates. The table will show a grid depending on the showGrid property. They can be selected with selectRow() and selectColumn(). Rows and columns can be hidden and shown with hideRow(), hideColumn(), showRow(), and showColumn(). Each header is configured with its highlightSections and sectionsClickable properties set to true. Since both of these are plain widgets, you can hide either of them using their hide() functions. The height of each row in the table can be found by using rowHeight() similarly, the width of columns can be found using columnWidth(). The table has a vertical header that can be obtained using the verticalHeader() function, and a horizontal header that is available through the horizontalHeader() function. Because QTableView enables tabKeyNavigation by default, you can also hit Tab and Backtab to move from cell to cell. You can navigate the cells in the table by clicking on a cell with the mouse, or by using the arrow keys.

QTableView implements the interfaces defined by the QAbstractItemView class to allow it to display data provided by models derived from the QAbstractItemModel class. The QTableView class is one of the Model/View Classes and is part of Qt's model/view framework. This class is used to provide standard tables that were previously provided by the QTable class, but using the more flexible approach provided by Qt's model/view architecture. SizeHintForColumn(int column) const overrideĪ QTableView implements a table view that displays items from a model. SetSelection(const QRect & rect, QItemSelectionModel::SelectionFlags flags) override SelectionChanged(const QItemSelection & selected, const QItemSelection & deselected) override MoveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override

IsIndexHidden(const QModelIndex & index) const override SetSpan(int row, int column, int rowSpanCount, int columnSpanCount)ĬurrentChanged(const QModelIndex & current, const QModelIndex & previous) override

SetHorizontalHeader(QHeaderView * header)
