Qt 4.8
Public Slots | Public Functions | Protected Slots | Protected Functions | Private Functions | Properties | Friends | List of all members
QTableView Class Reference

The QTableView class provides a default model/view implementation of a table view. More...

#include <qtableview.h>

Inheritance diagram for QTableView:
QAbstractItemView QAbstractScrollArea QFrame QWidget QObject QPaintDevice QCalendarView QTableWidget

Public Slots

void hideColumn (int column)
 Hide the given column. More...
 
void hideRow (int row)
 Hide the given row. More...
 
void resizeColumnsToContents ()
 Resizes all columns based on the size hints of the delegate used to render each item in the columns. More...
 
void resizeColumnToContents (int column)
 Resizes the given column based on the size hints of the delegate used to render each item in the column. More...
 
void resizeRowsToContents ()
 Resizes all rows based on the size hints of the delegate used to render each item in the rows. More...
 
void resizeRowToContents (int row)
 Resizes the given row based on the size hints of the delegate used to render each item in the row. More...
 
void selectColumn (int column)
 Selects the given column in the table view if the current SelectionMode and SelectionBehavior allows columns to be selected. More...
 
void selectRow (int row)
 Selects the given row in the table view if the current SelectionMode and SelectionBehavior allows rows to be selected. More...
 
void setShowGrid (bool show)
 
void showColumn (int column)
 Show the given column. More...
 
void showRow (int row)
 Show the given row. More...
 
void sortByColumn (int column)
 Sorts the model by the values in the given column. More...
 
- Public Slots inherited from QAbstractItemView
void clearSelection ()
 Deselects all selected items. More...
 
void edit (const QModelIndex &index)
 Starts editing the item corresponding to the given index if it is editable. More...
 
virtual void reset ()
 Reset the internal state of the view. More...
 
void scrollToBottom ()
 Scrolls the view to the bottom. More...
 
void scrollToTop ()
 Scrolls the view to the top. More...
 
virtual void selectAll ()
 Selects all items in the view. More...
 
void setCurrentIndex (const QModelIndex &index)
 Sets the current item to be the item at index. More...
 
void update (const QModelIndex &index)
 Updates the area occupied by the given index. More...
 
- Public Slots inherited from QWidget
bool close ()
 Closes this widget. More...
 
void hide ()
 Hides the widget. More...
 
void lower ()
 Lowers the widget to the bottom of the parent widget's stack. More...
 
void raise ()
 Raises this widget to the top of the parent widget's stack. More...
 
void repaint ()
 Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget is hidden. More...
 
void setDisabled (bool)
 Disables widget input events if disable is true; otherwise enables input events. More...
 
void setEnabled (bool)
 
void setFocus ()
 Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the active window. More...
 
void setHidden (bool hidden)
 Convenience function, equivalent to setVisible(!hidden). More...
 
QT_MOC_COMPAT void setShown (bool shown)
 Use setVisible(shown) instead. More...
 
void setStyleSheet (const QString &styleSheet)
 
virtual void setVisible (bool visible)
 
void setWindowModified (bool)
 
void setWindowTitle (const QString &)
 
void show ()
 Shows the widget and its child widgets. More...
 
void showFullScreen ()
 Shows the widget in full-screen mode. More...
 
void showMaximized ()
 Shows the widget maximized. More...
 
void showMinimized ()
 Shows the widget minimized, as an icon. More...
 
void showNormal ()
 Restores the widget after it has been maximized or minimized. More...
 
void update ()
 Updates the widget unless updates are disabled or the widget is hidden. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Public Functions

void clearSpans ()
 Removes all row and column spans in the table view. More...
 
int columnAt (int x) const
 Returns the column in which the given x-coordinate, x, in contents coordinates is located. More...
 
int columnSpan (int row, int column) const
 Returns the column span of the table element at (row, column). More...
 
int columnViewportPosition (int column) const
 Returns the x-coordinate in contents coordinates of the given column. More...
 
int columnWidth (int column) const
 Returns the width of the given column. More...
 
void doItemsLayout ()
 
Qt::PenStyle gridStyle () const
 
QHeaderViewhorizontalHeader () const
 Returns the table view's horizontal header. More...
 
QModelIndex indexAt (const QPoint &p) const
 Returns the index position of the model item corresponding to the table item at position pos in contents coordinates. More...
 
bool isColumnHidden (int column) const
 Returns true if the given column is hidden; otherwise returns false. More...
 
bool isCornerButtonEnabled () const
 
bool isRowHidden (int row) const
 Returns true if the given row is hidden; otherwise returns false. More...
 
bool isSortingEnabled () const
 
 QTableView (QWidget *parent=0)
 Constructs a table view with a parent to represent the data. More...
 
int rowAt (int y) const
 Returns the row in which the given y-coordinate, y, in contents coordinates is located. More...
 
int rowHeight (int row) const
 Returns the height of the given row. More...
 
int rowSpan (int row, int column) const
 Returns the row span of the table element at (row, column). More...
 
int rowViewportPosition (int row) const
 Returns the y-coordinate in contents coordinates of the given row. More...
 
void scrollTo (const QModelIndex &index, ScrollHint hint=EnsureVisible)
 Makes sure that the given item is visible in the table view, scrolling if necessary. More...
 
void setColumnHidden (int column, bool hide)
 If hide is true the given column will be hidden; otherwise it will be shown. More...
 
void setColumnWidth (int column, int width)
 Sets the width of the given column to be width. More...
 
void setCornerButtonEnabled (bool enable)
 
void setGridStyle (Qt::PenStyle style)
 
void setHorizontalHeader (QHeaderView *header)
 Sets the widget to use for the horizontal header to header. More...
 
void setModel (QAbstractItemModel *model)
 Reimplemented Function More...
 
void setRootIndex (const QModelIndex &index)
 Reimplemented Function More...
 
void setRowHeight (int row, int height)
 Sets the height of the given row to be height. More...
 
void setRowHidden (int row, bool hide)
 If hide is true row will be hidden, otherwise it will be shown. More...
 
void setSelectionModel (QItemSelectionModel *selectionModel)
 Reimplemented Function More...
 
void setSortingEnabled (bool enable)
 If enabled true enables sorting for the table and immediately trigger a call to sortByColumn() with the current sort section and order. More...
 
void setSpan (int row, int column, int rowSpan, int columnSpan)
 Sets the span of the table element at (row, column) to the number of rows and columns specified by (rowSpanCount, columnSpanCount). More...
 
void setVerticalHeader (QHeaderView *header)
 Sets the widget to use for the vertical header to header. More...
 
void setWordWrap (bool on)
 
bool showGrid () const
 
void sortByColumn (int column, Qt::SortOrder order)
 Sorts the model by the values in the given column in the given order. More...
 
QHeaderViewverticalHeader () const
 Returns the table view's vertical header. More...
 
QRect visualRect (const QModelIndex &index) const
 Returns the rectangle on the viewport occupied by the given index. More...
 
bool wordWrap () const
 
 ~QTableView ()
 Destroys the table view. More...
 
- Public Functions inherited from QAbstractItemView
bool alternatingRowColors () const
 
int autoScrollMargin () const
 
void closePersistentEditor (const QModelIndex &index)
 Closes the persistent editor for the item at the given index. More...
 
QModelIndex currentIndex () const
 Returns the model index of the current item. More...
 
Qt::DropAction defaultDropAction () const
 
DragDropMode dragDropMode () const
 
bool dragDropOverwriteMode () const
 
bool dragEnabled () const
 
EditTriggers editTriggers () const
 
bool hasAutoScroll () const
 
ScrollMode horizontalScrollMode () const
 
QSize iconSize () const
 
QWidgetindexWidget (const QModelIndex &index) const
 Returns the widget for the item at the given index. More...
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
 Reimplemented Function More...
 
QAbstractItemDelegateitemDelegate () const
 Returns the item delegate used by this view and model. More...
 
QAbstractItemDelegateitemDelegate (const QModelIndex &index) const
 Returns the item delegate used by this view and model for the given index. More...
 
QAbstractItemDelegateitemDelegateForColumn (int column) const
 Returns the item delegate used by this view and model for the given column. More...
 
QAbstractItemDelegateitemDelegateForRow (int row) const
 Returns the item delegate used by this view and model for the given row, or 0 if no delegate has been assigned. More...
 
virtual void keyboardSearch (const QString &search)
 Moves to and selects the item best matching the string search. More...
 
QAbstractItemModelmodel () const
 Returns the model that this view is presenting. More...
 
void openPersistentEditor (const QModelIndex &index)
 Opens a persistent editor on the item at the given index. More...
 
 QAbstractItemView (QWidget *parent=0)
 Constructs an abstract item view with the given parent. More...
 
QModelIndex rootIndex () const
 Returns the model index of the model's root item. More...
 
QAbstractItemView::SelectionBehavior selectionBehavior () const
 
QAbstractItemView::SelectionMode selectionMode () const
 
QItemSelectionModelselectionModel () const
 Returns the current selection model. More...
 
void setAlternatingRowColors (bool enable)
 
void setAutoScroll (bool enable)
 
void setAutoScrollMargin (int margin)
 
void setDefaultDropAction (Qt::DropAction dropAction)
 
void setDragDropMode (DragDropMode behavior)
 
void setDragDropOverwriteMode (bool overwrite)
 
void setDragEnabled (bool enable)
 
void setDropIndicatorShown (bool enable)
 
void setEditTriggers (EditTriggers triggers)
 
void setHorizontalScrollMode (ScrollMode mode)
 
void setIconSize (const QSize &size)
 
void setIndexWidget (const QModelIndex &index, QWidget *widget)
 Sets the given widget on the item at the given index, passing the ownership of the widget to the viewport. More...
 
void setItemDelegate (QAbstractItemDelegate *delegate)
 Sets the item delegate for this view and its model to delegate. More...
 
void setItemDelegateForColumn (int column, QAbstractItemDelegate *delegate)
 Sets the given item delegate used by this view and model for the given column. More...
 
void setItemDelegateForRow (int row, QAbstractItemDelegate *delegate)
 Sets the given item delegate used by this view and model for the given row. More...
 
void setSelectionBehavior (QAbstractItemView::SelectionBehavior behavior)
 
void setSelectionMode (QAbstractItemView::SelectionMode mode)
 
void setTabKeyNavigation (bool enable)
 
void setTextElideMode (Qt::TextElideMode mode)
 
void setVerticalScrollMode (ScrollMode mode)
 
bool showDropIndicator () const
 
QSize sizeHintForIndex (const QModelIndex &index) const
 Returns the size hint for the item with the specified index or an invalid size for invalid indexes. More...
 
bool tabKeyNavigation () const
 
Qt::TextElideMode textElideMode () const
 
ScrollMode verticalScrollMode () const
 
 ~QAbstractItemView ()
 Destroys the view. More...
 
- Public Functions inherited from QAbstractScrollArea
void addScrollBarWidget (QWidget *widget, Qt::Alignment alignment)
 Adds widget as a scroll bar widget in the location specified by alignment. More...
 
QWidgetcornerWidget () const
 Returns the widget in the corner between the two scroll bars. More...
 
QScrollBarhorizontalScrollBar () const
 Returns the horizontal scroll bar. More...
 
Qt::ScrollBarPolicy horizontalScrollBarPolicy () const
 
QSize maximumViewportSize () const
 Returns the size of the viewport as if the scroll bars had no valid scrolling range. More...
 
QSize minimumSizeHint () const
 Reimplemented Function More...
 
 QAbstractScrollArea (QWidget *parent=0)
 Constructs a viewport. More...
 
QWidgetList scrollBarWidgets (Qt::Alignment alignment)
 Returns a list of the currently set scroll bar widgets. More...
 
void setCornerWidget (QWidget *widget)
 Sets the widget in the corner between the two scroll bars to be widget. More...
 
void setHorizontalScrollBar (QScrollBar *scrollbar)
 Replaces the existing horizontal scroll bar with scrollBar, and sets all the former scroll bar's slider properties on the new scroll bar. More...
 
void setHorizontalScrollBarPolicy (Qt::ScrollBarPolicy)
 
void setVerticalScrollBar (QScrollBar *scrollbar)
 Replaces the existing vertical scroll bar with scrollBar, and sets all the former scroll bar's slider properties on the new scroll bar. More...
 
void setVerticalScrollBarPolicy (Qt::ScrollBarPolicy)
 
void setViewport (QWidget *widget)
 Sets the viewport to be the given widget. More...
 
QSize sizeHint () const
 Reimplemented Function More...
 
QScrollBarverticalScrollBar () const
 Returns the vertical scroll bar. More...
 
Qt::ScrollBarPolicy verticalScrollBarPolicy () const
 
QWidgetviewport () const
 Returns the viewport widget. More...
 
 ~QAbstractScrollArea ()
 Destroys the viewport. More...
 
- Public Functions inherited from QFrame
QRect frameRect () const
 
Shadow frameShadow () const
 
Shape frameShape () const
 
int frameStyle () const
 Returns the frame style. More...
 
int frameWidth () const
 
int lineWidth () const
 
int midLineWidth () const
 
 QFrame (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructs a frame widget with frame style NoFrame and a 1-pixel frame width. More...
 
void setFrameRect (const QRect &)
 em>Reimplemented Function More...
 
void setFrameShadow (Shadow)
 
void setFrameShape (Shape)
 
void setFrameStyle (int)
 Sets the frame style to style. More...
 
void setLineWidth (int)
 
void setMidLineWidth (int)
 
QSize sizeHint () const
 em>Reimplemented Function More...
 
 ~QFrame ()
 Destroys the frame. More...
 
- Public Functions inherited from QWidget
bool acceptDrops () const
 
QString accessibleDescription () const
 
QString accessibleName () const
 
QList< QAction * > actions () const
 Returns the (possibly empty) list of this widget's actions. More...
 
void activateWindow ()
 Sets the top-level widget containing this widget to be the active window. More...
 
void addAction (QAction *action)
 Appends the action action to this widget's list of actions. More...
 
void addActions (QList< QAction *> actions)
 Appends the actions actions to this widget's list of actions. More...
 
void adjustSize ()
 Adjusts the size of the widget to fit its contents. More...
 
bool autoFillBackground () const
 
QPalette::ColorRole backgroundRole () const
 Returns the background role of the widget. More...
 
QSize baseSize () const
 
QWidgetchildAt (int x, int y) const
 Returns the visible child widget at the position ({x}, {y}) in the widget's coordinate system. More...
 
QWidgetchildAt (const QPoint &p) const
 Returns the visible child widget at point p in the widget's own coordinate system. More...
 
QRect childrenRect () const
 
QRegion childrenRegion () const
 
void clearFocus ()
 Takes keyboard input focus from the widget. More...
 
void clearMask ()
 Removes any mask set by setMask(). More...
 
QMargins contentsMargins () const
 The contentsMargins function returns the widget's contents margins. More...
 
QRect contentsRect () const
 Returns the area inside the widget's margins. More...
 
Qt::ContextMenuPolicy contextMenuPolicy () const
 
void createWinId ()
 
QCursor cursor () const
 
int devType () const
 
WId effectiveWinId () const
 Returns the effective window system identifier of the widget, i. More...
 
void ensurePolished () const
 Ensures that the widget has been polished by QStyle (i.e., has a proper font and palette). More...
 
Qt::FocusPolicy focusPolicy () const
 
QWidgetfocusProxy () const
 Returns the focus proxy, or 0 if there is no focus proxy. More...
 
QWidgetfocusWidget () const
 Returns the last child of this widget that setFocus had been called on. More...
 
const QFontfont () const
 
QFontInfo fontInfo () const
 Returns the font info for the widget's current font. More...
 
QFontMetrics fontMetrics () const
 Returns the font metrics for the widget's current font. More...
 
QPalette::ColorRole foregroundRole () const
 Returns the foreground role. More...
 
QRect frameGeometry () const
 
QSize frameSize () const
 
const QRectgeometry () const
 
void getContentsMargins (int *left, int *top, int *right, int *bottom) const
 Returns the widget's contents margins for left, top, right, and bottom. More...
 
HDC getDC () const
 Returns the window system handle of the widget, for low-level access. More...
 
void grabGesture (Qt::GestureType type, Qt::GestureFlags flags=Qt::GestureFlags())
 Subscribes the widget to a given gesture with specific flags. More...
 
void grabKeyboard ()
 Grabs the keyboard input. More...
 
void grabMouse ()
 Grabs the mouse input. More...
 
void grabMouse (const QCursor &)
 
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context=Qt::WindowShortcut)
 Adds a shortcut to Qt's shortcut system that watches for the given key sequence in the given context. More...
 
QGraphicsEffectgraphicsEffect () const
 The graphicsEffect function returns a pointer to the widget's graphics effect. More...
 
QGraphicsProxyWidgetgraphicsProxyWidget () const
 Returns the proxy widget for the corresponding embedded widget in a graphics view; otherwise returns 0. More...
 
bool hasFocus () const
 
bool hasMouseTracking () const
 
int height () const
 
virtual int heightForWidth (int) const
 Returns the preferred height for this widget, given the width w. More...
 
QInputContextinputContext ()
 This function returns the QInputContext for this widget. More...
 
Qt::InputMethodHints inputMethodHints () const
 
void insertAction (QAction *before, QAction *action)
 Inserts the action action to this widget's list of actions, before the action before. More...
 
void insertActions (QAction *before, QList< QAction *> actions)
 Inserts the actions actions to this widget's list of actions, before the action before. More...
 
WId internalWinId () const
 Returns the window system identifier of the widget, or 0 if the widget is not created yet. More...
 
bool isActiveWindow () const
 
bool isAncestorOf (const QWidget *child) const
 Returns true if this widget is a parent, (or grandparent and so on to any level), of the given child, and both widgets are within the same window; otherwise returns false. More...
 
bool isEnabled () const
 
bool isEnabledTo (QWidget *) const
 Returns true if this widget would become enabled if ancestor is enabled; otherwise returns false. More...
 
bool isEnabledToTLW () const
 This function is deprecated. More...
 
bool isFullScreen () const
 
bool isHidden () const
 Returns true if the widget is hidden, otherwise returns false. More...
 
bool isLeftToRight () const
 
bool isMaximized () const
 
bool isMinimized () const
 
bool isModal () const
 
bool isRightToLeft () const
 
bool isTopLevel () const
 Use isWindow() instead. More...
 
bool isVisible () const
 
bool isVisibleTo (QWidget *) const
 Returns true if this widget would become visible if ancestor is shown; otherwise returns false. More...
 
bool isWindow () const
 Returns true if the widget is an independent window, otherwise returns false. More...
 
bool isWindowModified () const
 
QLayoutlayout () const
 Returns the layout manager that is installed on this widget, or 0 if no layout manager is installed. More...
 
Qt::LayoutDirection layoutDirection () const
 
QLocale locale () const
 
Qt::HANDLE macCGHandle () const
 Returns the CoreGraphics handle of the widget. More...
 
Qt::HANDLE macQDHandle () const
 Returns the QuickDraw handle of the widget. More...
 
QPoint mapFrom (QWidget *, const QPoint &) const
 Translates the widget coordinate pos from the coordinate system of parent to this widget's coordinate system. More...
 
QPoint mapFromGlobal (const QPoint &) const
 Translates the global screen coordinate pos to widget coordinates. More...
 
QPoint mapFromParent (const QPoint &) const
 Translates the parent widget coordinate pos to widget coordinates. More...
 
QPoint mapTo (QWidget *, const QPoint &) const
 Translates the widget coordinate pos to the coordinate system of parent. More...
 
QPoint mapToGlobal (const QPoint &) const
 Translates the widget coordinate pos to global screen coordinates. More...
 
QPoint mapToParent (const QPoint &) const
 Translates the widget coordinate pos to a coordinate in the parent widget. More...
 
QRegion mask () const
 Returns the mask currently set on a widget. More...
 
int maximumHeight () const
 
QSize maximumSize () const
 
int maximumWidth () const
 
int minimumHeight () const
 
QSize minimumSize () const
 
int minimumWidth () const
 
void move (int x, int y)
 This corresponds to move(QPoint(x, y)). More...
 
void move (const QPoint &)
 
QWidgetnativeParentWidget () const
 Returns the native parent for this widget, i. More...
 
QWidgetnextInFocusChain () const
 Returns the next widget in this widget's focus chain. More...
 
QRect normalGeometry () const
 
void overrideWindowFlags (Qt::WindowFlags type)
 Sets the window flags for the widget to flags, without telling the window system. More...
 
void overrideWindowState (Qt::WindowStates state)
 
QPaintEnginepaintEngine () const
 Returns the widget's paint engine. More...
 
const QPalettepalette () const
 
QWidgetparentWidget () const
 Returns the parent of this widget, or 0 if it does not have any parent widget. More...
 
QPoint pos () const
 
QWidgetpreviousInFocusChain () const
 The previousInFocusChain function returns the previous widget in this widget's focus chain. More...
 
 QWidget (QWidget *parent=0, Qt::WindowFlags f=0)
 Constructs a widget which is a child of parent, with widget flags set to f. More...
 
QRect rect () const
 
void releaseDC (HDC) const
 Releases the HDC hdc acquired by a previous call to getDC(). More...
 
void releaseKeyboard ()
 Releases the keyboard grab. More...
 
void releaseMouse ()
 Releases the mouse grab. More...
 
void releaseShortcut (int id)
 Removes the shortcut with the given id from Qt's shortcut system. More...
 
void removeAction (QAction *action)
 Removes the action action from this widget's list of actions. More...
 
void render (QPaintDevice *target, const QPoint &targetOffset=QPoint(), const QRegion &sourceRegion=QRegion(), RenderFlags renderFlags=RenderFlags(DrawWindowBackground|DrawChildren))
 Renders the sourceRegion of this widget into the target using renderFlags to determine how to render. More...
 
void render (QPainter *painter, const QPoint &targetOffset=QPoint(), const QRegion &sourceRegion=QRegion(), RenderFlags renderFlags=RenderFlags(DrawWindowBackground|DrawChildren))
 Renders the widget into the painter's QPainter::device(). More...
 
void repaint (int x, int y, int w, int h)
 This version repaints a rectangle (x, y, w, h) inside the widget. More...
 
void repaint (const QRect &)
 This version repaints a rectangle rect inside the widget. More...
 
void repaint (const QRegion &)
 This version repaints a region rgn inside the widget. More...
 
void resize (int w, int h)
 This corresponds to resize(QSize(w, h)). More...
 
void resize (const QSize &)
 
bool restoreGeometry (const QByteArray &geometry)
 Restores the geometry and state top-level widgets stored in the byte array geometry. More...
 
QByteArray saveGeometry () const
 Saves the current geometry and state for top-level widgets. More...
 
void scroll (int dx, int dy)
 Scrolls the widget including its children dx pixels to the right and dy downward. More...
 
void scroll (int dx, int dy, const QRect &)
 This version only scrolls r and does not move the children of the widget. More...
 
void setAcceptDrops (bool on)
 
void setAccessibleDescription (const QString &description)
 
void setAccessibleName (const QString &name)
 
void setAttribute (Qt::WidgetAttribute, bool on=true)
 Sets the attribute attribute on this widget if on is true; otherwise clears the attribute. More...
 
void setAutoFillBackground (bool enabled)
 
void setBackgroundRole (QPalette::ColorRole)
 Sets the background role of the widget to role. More...
 
void setBaseSize (const QSize &)
 
void setBaseSize (int basew, int baseh)
 This corresponds to setBaseSize(QSize(basew, baseh)). More...
 
void setContentsMargins (int left, int top, int right, int bottom)
 Sets the margins around the contents of the widget to have the sizes left, top, right, and bottom. More...
 
void setContentsMargins (const QMargins &margins)
 The setContentsMargins function sets the margins around the widget's contents. More...
 
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
 
void setCursor (const QCursor &)
 
void setFixedHeight (int h)
 Sets both the minimum and maximum heights of the widget to h without changing the widths. More...
 
void setFixedSize (const QSize &)
 Sets both the minimum and maximum sizes of the widget to s, thereby preventing it from ever growing or shrinking. More...
 
void setFixedSize (int w, int h)
 Sets the width of the widget to w and the height to h. More...
 
void setFixedWidth (int w)
 Sets both the minimum and maximum width of the widget to w without changing the heights. More...
 
void setFocus (Qt::FocusReason reason)
 Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the active window. More...
 
void setFocusPolicy (Qt::FocusPolicy policy)
 
void setFocusProxy (QWidget *)
 Sets the widget's focus proxy to widget w. More...
 
void setFont (const QFont &)
 Use the single-argument overload instead. More...
 
void setForegroundRole (QPalette::ColorRole)
 Sets the foreground role of the widget to role. More...
 
void setGeometry (int x, int y, int w, int h)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This corresponds to setGeometry(QRect(x, y, w, h)). More...
 
void setGeometry (const QRect &)
 
void setGraphicsEffect (QGraphicsEffect *effect)
 The setGraphicsEffect function is for setting the widget's graphics effect. More...
 
void setInputContext (QInputContext *)
 This function sets the input context context on this widget. More...
 
void setInputMethodHints (Qt::InputMethodHints hints)
 
void setLayout (QLayout *)
 Sets the layout manager for this widget to layout. More...
 
void setLayoutDirection (Qt::LayoutDirection direction)
 
void setLocale (const QLocale &locale)
 
void setMask (const QBitmap &)
 Causes only the pixels of the widget for which bitmap has a corresponding 1 bit to be visible. More...
 
void setMask (const QRegion &)
 Causes only the parts of the widget which overlap region to be visible. More...
 
void setMaximumHeight (int maxh)
 
void setMaximumSize (const QSize &)
 
void setMaximumSize (int maxw, int maxh)
 This function corresponds to setMaximumSize(QSize(maxw, maxh)). More...
 
void setMaximumWidth (int maxw)
 
void setMinimumHeight (int minh)
 
void setMinimumSize (const QSize &)
 
void setMinimumSize (int minw, int minh)
 This function corresponds to setMinimumSize(QSize(minw, minh)). More...
 
void setMinimumWidth (int minw)
 
void setMouseTracking (bool enable)
 
void setPalette (const QPalette &)
 Use the single-argument overload instead. More...
 
void setParent (QWidget *parent)
 Sets the parent of the widget to parent, and resets the window flags. More...
 
void setParent (QWidget *parent, Qt::WindowFlags f)
 This function also takes widget flags, f as an argument. More...
 
void setShortcutAutoRepeat (int id, bool enable=true)
 If enable is true, auto repeat of the shortcut with the given id is enabled; otherwise it is disabled. More...
 
void setShortcutEnabled (int id, bool enable=true)
 If enable is true, the shortcut with the given id is enabled; otherwise the shortcut is disabled. More...
 
void setSizeIncrement (const QSize &)
 
void setSizeIncrement (int w, int h)
 Sets the x (width) size increment to w and the y (height) size increment to h. More...
 
void setSizePolicy (QSizePolicy)
 
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
 Sets the size policy of the widget to horizontal and vertical, with standard stretch and no height-for-width. More...
 
void setStatusTip (const QString &)
 
void setStyle (QStyle *)
 Sets the widget's GUI style to style. More...
 
void setToolTip (const QString &)
 
void setUpdatesEnabled (bool enable)
 
void setupUi (QWidget *widget)
 Sets up the user interface for the specified widget. More...
 
void setWhatsThis (const QString &)
 
void setWindowFilePath (const QString &filePath)
 
void setWindowFlags (Qt::WindowFlags type)
 
void setWindowIcon (const QIcon &icon)
 
void setWindowIconText (const QString &)
 
void setWindowModality (Qt::WindowModality windowModality)
 
void setWindowOpacity (qreal level)
 
void setWindowRole (const QString &)
 Sets the window's role to role. More...
 
void setWindowState (Qt::WindowStates state)
 Sets the window state to windowState. More...
 
void setWindowSurface (QWindowSurface *surface)
 Sets the window surface to be the surface specified. More...
 
QSize size () const
 
QSize sizeIncrement () const
 
QSizePolicy sizePolicy () const
 
void stackUnder (QWidget *)
 Places the widget under w in the parent widget's stack. More...
 
QString statusTip () const
 
QStylestyle () const
 
QString styleSheet () const
 
bool testAttribute (Qt::WidgetAttribute) const
 Returns true if attribute attribute is set on this widget; otherwise returns false. More...
 
QString toolTip () const
 
QWidgettopLevelWidget () const
 
bool underMouse () const
 Returns true if the widget is under the mouse cursor; otherwise returns false. More...
 
void ungrabGesture (Qt::GestureType type)
 Unsubscribes the widget from a given gesture type. More...
 
void unsetCursor ()
 
void unsetLayoutDirection ()
 
void unsetLocale ()
 
void update (int x, int y, int w, int h)
 This version updates a rectangle (x, y, w, h) inside the widget. More...
 
void update (const QRect &)
 This version updates a rectangle rect inside the widget. More...
 
void update (const QRegion &)
 This version repaints a region rgn inside the widget. More...
 
void updateGeometry ()
 Notifies the layout system that this widget has changed and may need to change geometry. More...
 
bool updatesEnabled () const
 
QRegion visibleRegion () const
 Returns the unobscured region where paint events can occur. More...
 
QString whatsThis () const
 
int width () const
 
QWidgetwindow () const
 Returns the window for this widget, i.e. More...
 
QString windowFilePath () const
 
Qt::WindowFlags windowFlags () const
 Window flags are a combination of a type (e. More...
 
QIcon windowIcon () const
 
QString windowIconText () const
 
Qt::WindowModality windowModality () const
 
qreal windowOpacity () const
 
QString windowRole () const
 Returns the window's role, or an empty string. More...
 
Qt::WindowStates windowState () const
 Returns the current window state. More...
 
QWindowSurfacewindowSurface () const
 Returns the QWindowSurface this widget will be drawn into. More...
 
QString windowTitle () const
 
Qt::WindowType windowType () const
 Returns the window type of this widget. More...
 
WId winId () const
 Returns the window system identifier of the widget. More...
 
int x () const
 
const QX11Infox11Info () const
 Returns information about the configuration of the X display used to display the widget. More...
 
Qt::HANDLE x11PictureHandle () const
 Returns the X11 Picture handle of the widget for XRender support. More...
 
int y () const
 
 ~QWidget ()
 Destroys the widget. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 
- Public Functions inherited from QPaintDevice
int colorCount () const
 
int depth () const
 
int height () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
QT_DEPRECATED int numColors () const
 
bool paintingActive () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
int width () const
 
int widthMM () const
 
virtual ~QPaintDevice ()
 

Protected Slots

void columnCountChanged (int oldCount, int newCount)
 This slot is called whenever columns are added or deleted. More...
 
void columnMoved (int column, int oldIndex, int newIndex)
 This slot is called to change the index of the given column in the table view. More...
 
void columnResized (int column, int oldWidth, int newWidth)
 This slot is called to change the width of the given column. More...
 
void rowCountChanged (int oldCount, int newCount)
 This slot is called whenever rows are added or deleted. More...
 
void rowMoved (int row, int oldIndex, int newIndex)
 This slot is called to change the index of the given row in the table view. More...
 
void rowResized (int row, int oldHeight, int newHeight)
 This slot is called to change the height of the given row. More...
 
- Protected Slots inherited from QAbstractItemView
virtual void closeEditor (QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
 Closes the given editor, and releases it. More...
 
virtual void commitData (QWidget *editor)
 Commit the data in the editor to the model. More...
 
virtual void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight)
 This slot is called when items are changed in the model. More...
 
virtual void editorDestroyed (QObject *editor)
 This function is called when the given editor has been destroyed. More...
 
virtual void horizontalScrollbarValueChanged (int value)
 
virtual void rowsAboutToBeRemoved (const QModelIndex &parent, int start, int end)
 This slot is called when rows are about to be removed. More...
 
virtual void rowsInserted (const QModelIndex &parent, int start, int end)
 This slot is called when rows are inserted. More...
 
virtual void updateEditorData ()
 Updates the data shown in the open editor widgets in the view. More...
 
virtual void updateEditorGeometries ()
 Updates the geometry of the open editor widgets in the view. More...
 
virtual void verticalScrollbarValueChanged (int value)
 
- Protected Slots inherited from QAbstractScrollArea
void setupViewport (QWidget *viewport)
 This slot is called by QAbstractScrollArea after setViewport(viewport) has been called. More...
 
- Protected Slots inherited from QWidget
void updateMicroFocus ()
 Updates the widget's micro focus. More...
 

Protected Functions

void currentChanged (const QModelIndex &current, const QModelIndex &previous)
 Reimplemented Function More...
 
int horizontalOffset () const
 Returns the horizontal offset of the items in the table view. More...
 
void horizontalScrollbarAction (int action)
 
bool isIndexHidden (const QModelIndex &index) const
 Reimplemented Function More...
 
QModelIndex moveCursor (CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
 Moves the cursor in accordance with the given cursorAction, using the information provided by the modifiers. More...
 
void paintEvent (QPaintEvent *e)
 Paints the table on receipt of the given paint event event. More...
 
 QTableView (QTableViewPrivate &, QWidget *parent)
 
void scrollContentsBy (int dx, int dy)
 Scroll the contents of the table view by (dx, dy). More...
 
QModelIndexList selectedIndexes () const
 Reimplemented Function More...
 
void selectionChanged (const QItemSelection &selected, const QItemSelection &deselected)
 Reimplemented Function More...
 
void setSelection (const QRect &rect, QItemSelectionModel::SelectionFlags command)
 Applies the selection flags to the items in or touched by the rectangle, rect. More...
 
int sizeHintForColumn (int column) const
 Returns the size hint for the given column's width or -1 if there is no model. More...
 
int sizeHintForRow (int row) const
 Returns the size hint for the given row's height or -1 if there is no model. More...
 
void timerEvent (QTimerEvent *event)
 Reimplemented Function More...
 
void updateGeometries ()
 Reimplemented Function More...
 
int verticalOffset () const
 Returns the vertical offset of the items in the table view. More...
 
void verticalScrollbarAction (int action)
 
QStyleOptionViewItem viewOptions () const
 Reimplemented Function More...
 
QRegion visualRegionForSelection (const QItemSelection &selection) const
 Returns the rectangle from the viewport of the items in the given selection. More...
 
- Protected Functions inherited from QAbstractItemView
QPoint dirtyRegionOffset () const
 Returns the offset of the dirty regions in the view. More...
 
void doAutoScroll ()
 
void dragEnterEvent (QDragEnterEvent *event)
 This function is called with the given event when a drag and drop operation enters the widget. More...
 
void dragLeaveEvent (QDragLeaveEvent *event)
 This function is called when the item being dragged leaves the view. More...
 
void dragMoveEvent (QDragMoveEvent *event)
 This function is called continuously with the given event during a drag and drop operation over the widget. More...
 
void dropEvent (QDropEvent *event)
 This function is called with the given event when a drop event occurs over the widget. More...
 
DropIndicatorPosition dropIndicatorPosition () const
 Returns the position of the drop indicator in relation to the closest item. More...
 
virtual bool edit (const QModelIndex &index, EditTrigger trigger, QEvent *event)
 Starts editing the item at index, creating an editor if necessary, and returns true if the view's State is now EditingState; otherwise returns false. More...
 
bool event (QEvent *event)
 Reimplemented Function More...
 
void executeDelayedItemsLayout ()
 Executes the scheduled layouts without waiting for the event processing to begin. More...
 
void focusInEvent (QFocusEvent *event)
 This function is called with the given event when the widget obtains the focus. More...
 
bool focusNextPrevChild (bool next)
 Reimplemented Function More...
 
void focusOutEvent (QFocusEvent *event)
 This function is called with the given event when the widget looses the focus. More...
 
int horizontalStepsPerItem () const
 Returns the horizontal scroll bar's steps per item. More...
 
void inputMethodEvent (QInputMethodEvent *event)
 Reimplemented Function More...
 
void keyPressEvent (QKeyEvent *event)
 This function is called with the given event when a key event is sent to the widget. More...
 
void mouseDoubleClickEvent (QMouseEvent *event)
 This function is called with the given event when a mouse button is double clicked inside the widget. More...
 
void mouseMoveEvent (QMouseEvent *event)
 This function is called with the given event when a mouse move event is sent to the widget. More...
 
void mousePressEvent (QMouseEvent *event)
 This function is called with the given event when a mouse button is pressed while the cursor is inside the widget. More...
 
void mouseReleaseEvent (QMouseEvent *event)
 This function is called with the given event when a mouse button is released, after a mouse press event on the widget. More...
 
 QAbstractItemView (QAbstractItemViewPrivate &, QWidget *parent=0)
 
void resizeEvent (QResizeEvent *event)
 This function is called with the given event when a resize event is sent to the widget. More...
 
void scheduleDelayedItemsLayout ()
 Schedules a layout of the items in the view to be executed when the event processing starts. More...
 
void scrollDirtyRegion (int dx, int dy)
 Prepares the view for scrolling by ({dx},{dy}) pixels by moving the dirty regions in the opposite direction. More...
 
virtual QItemSelectionModel::SelectionFlags selectionCommand (const QModelIndex &index, const QEvent *event=0) const
 Returns the SelectionFlags to be used when updating a selection with to include the index specified. More...
 
void setDirtyRegion (const QRegion &region)
 Marks the given region as dirty and schedules it to be updated. More...
 
void setHorizontalStepsPerItem (int steps)
 Sets the horizontal scroll bar's steps per item to steps. More...
 
void setState (State state)
 Sets the item view's state to the given state. More...
 
void setVerticalStepsPerItem (int steps)
 Sets the vertical scroll bar's steps per item to steps. More...
 
void startAutoScroll ()
 
virtual void startDrag (Qt::DropActions supportedActions)
 Starts a drag by calling drag->exec() using the given supportedActions. More...
 
State state () const
 Returns the item view's state. More...
 
void stopAutoScroll ()
 
int verticalStepsPerItem () const
 Returns the vertical scroll bar's steps per item. More...
 
bool viewportEvent (QEvent *event)
 This function is used to handle tool tips, and What's This? mode, if the given event is a QEvent::ToolTip,or a QEvent::WhatsThis. More...
 
- Protected Functions inherited from QAbstractScrollArea
void contextMenuEvent (QContextMenuEvent *)
 This event handler can be reimplemented in a subclass to receive context menu events for the viewport() widget. More...
 
void dragEnterEvent (QDragEnterEvent *)
 This event handler can be reimplemented in a subclass to receive drag enter events (passed in event), for the viewport() widget. More...
 
void dragLeaveEvent (QDragLeaveEvent *)
 This event handler can be reimplemented in a subclass to receive drag leave events (passed in event), for the viewport() widget. More...
 
void dragMoveEvent (QDragMoveEvent *)
 This event handler can be reimplemented in a subclass to receive drag move events (passed in event), for the viewport() widget. More...
 
void dropEvent (QDropEvent *)
 This event handler can be reimplemented in a subclass to receive drop events (passed in event), for the viewport() widget. More...
 
bool event (QEvent *)
 Reimplemented Function More...
 
void keyPressEvent (QKeyEvent *)
 This function is called with key event e when key presses occur. More...
 
void mouseDoubleClickEvent (QMouseEvent *)
 This event handler can be reimplemented in a subclass to receive mouse double click events for the viewport() widget. More...
 
void mouseMoveEvent (QMouseEvent *)
 This event handler can be reimplemented in a subclass to receive mouse move events for the viewport() widget. More...
 
void mousePressEvent (QMouseEvent *)
 This event handler can be reimplemented in a subclass to receive mouse press events for the viewport() widget. More...
 
void mouseReleaseEvent (QMouseEvent *)
 This event handler can be reimplemented in a subclass to receive mouse release events for the viewport() widget. More...
 
void paintEvent (QPaintEvent *)
 This event handler can be reimplemented in a subclass to receive paint events (passed in event), for the viewport() widget. More...
 
 QAbstractScrollArea (QAbstractScrollAreaPrivate &dd, QWidget *parent=0)
 Creates a new QAbstractScrollAreaPrivate, dd with the given parent. More...
 
void resizeEvent (QResizeEvent *)
 This event handler can be reimplemented in a subclass to receive resize events (passed in event), for the viewport() widget. More...
 
void setViewportMargins (int left, int top, int right, int bottom)
 Sets the margins around the scrolling area to left, top, right and bottom. More...
 
void setViewportMargins (const QMargins &margins)
 Sets margins around the scrolling area. More...
 
void wheelEvent (QWheelEvent *)
 This event handler can be reimplemented in a subclass to receive wheel events for the viewport() widget. More...
 
- Protected Functions inherited from QFrame
void changeEvent (QEvent *)
 This event handler can be reimplemented to handle state changes. More...
 
void drawFrame (QPainter *)
 em>Reimplemented Function More...
 
bool event (QEvent *e)
 Reimplemented Function More...
 
void paintEvent (QPaintEvent *)
 This event handler can be reimplemented in a subclass to receive paint events passed in event. More...
 
 QFrame (QFramePrivate &dd, QWidget *parent=0, Qt::WindowFlags f=0)
 
- Protected Functions inherited from QWidget
virtual void actionEvent (QActionEvent *)
 This event handler is called with the given event whenever the widget's actions are changed. More...
 
virtual void closeEvent (QCloseEvent *)
 This event handler is called with the given event when Qt receives a window close request for a top-level widget from the window system. More...
 
void create (WId=0, bool initializeWindow=true, bool destroyOldWindow=true)
 Creates a new widget window if window is 0, otherwise sets the widget's window to window. More...
 
void destroy (bool destroyWindow=true, bool destroySubWindows=true)
 Frees up window system resources. More...
 
virtual void enabledChange (bool)
 
virtual void enterEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive widget enter events which are passed in the event parameter. More...
 
bool focusNextChild ()
 Finds a new widget to give the keyboard focus to, as appropriate for Tab, and returns true if it can find a new widget, or false if it can't. More...
 
bool focusPreviousChild ()
 Finds a new widget to give the keyboard focus to, as appropriate for Shift+Tab, and returns true if it can find a new widget, or false if it can't. More...
 
virtual void fontChange (const QFont &)
 
virtual void hideEvent (QHideEvent *)
 This event handler can be reimplemented in a subclass to receive widget hide events. More...
 
virtual void keyReleaseEvent (QKeyEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive key release events for the widget. More...
 
virtual void languageChange ()
 
virtual void leaveEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive widget leave events which are passed in the event parameter. More...
 
virtual bool macEvent (EventHandlerCallRef, EventRef)
 This special event handler can be reimplemented in a subclass to receive native Macintosh events. More...
 
int metric (PaintDeviceMetric) const
 Internal implementation of the virtual QPaintDevice::metric() function. More...
 
virtual void moveEvent (QMoveEvent *)
 This event handler can be reimplemented in a subclass to receive widget move events which are passed in the event parameter. More...
 
virtual void paletteChange (const QPalette &)
 
 QWidget (QWidgetPrivate &d, QWidget *parent, Qt::WindowFlags f)
 
virtual bool qwsEvent (QWSEvent *)
 This special event handler can be reimplemented in a subclass to receive native Qt for Embedded Linux events which are passed in the event parameter. More...
 
void resetInputContext ()
 This function can be called on the widget that currently has focus to reset the input method operating on it. More...
 
virtual void showEvent (QShowEvent *)
 This event handler can be reimplemented in a subclass to receive widget show events which are passed in the event parameter. More...
 
virtual void styleChange (QStyle &)
 
virtual void tabletEvent (QTabletEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive tablet events for the widget. More...
 
virtual void windowActivationChange (bool)
 
virtual bool winEvent (MSG *message, long *result)
 This special event handler can be reimplemented in a subclass to receive native Windows events which are passed in the message parameter. More...
 
virtual bool x11Event (XEvent *)
 This special event handler can be reimplemented in a subclass to receive native X11 events passed in the event parameter. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
- Protected Functions inherited from QPaintDevice
 QPaintDevice ()
 

Private Functions

int visualIndex (const QModelIndex &index) const
 

Properties

bool cornerButtonEnabled
 whether the button in the top-left corner is enabled More...
 
Qt::PenStyle gridStyle
 the pen style used to draw the grid. More...
 
bool showGrid
 whether the grid is shown More...
 
bool sortingEnabled
 whether sorting is enabled More...
 
bool wordWrap
 the item text word-wrapping policy More...
 

Friends

class QAccessibleItemView
 

Additional Inherited Members

- Public Types inherited from QAbstractItemView
enum  DragDropMode {
  NoDragDrop, DragOnly, DropOnly, DragDrop,
  InternalMove
}
 Describes the various drag and drop events the view can act upon. More...
 
enum  EditTrigger {
  NoEditTriggers = 0, CurrentChanged = 1, DoubleClicked = 2, SelectedClicked = 4,
  EditKeyPressed = 8, AnyKeyPressed = 16, AllEditTriggers = 31
}
 This enum describes actions which will initiate item editing. More...
 
enum  ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter }
 
enum  ScrollMode { ScrollPerItem, ScrollPerPixel }
 
enum  SelectionBehavior { SelectItems, SelectRows, SelectColumns }
 
enum  SelectionMode {
  NoSelection, SingleSelection, MultiSelection, ExtendedSelection,
  ContiguousSelection
}
 This enum indicates how the view responds to user selections: More...
 
- Public Types inherited from QFrame
enum  Shadow { Plain = 0x0010, Raised = 0x0020, Sunken = 0x0030 }
 This enum type defines the types of shadow that are used to give a 3D effect to frames. More...
 
enum  Shape {
  NoFrame = 0, Box = 0x0001, Panel = 0x0002, WinPanel = 0x0003,
  HLine = 0x0004, VLine = 0x0005, StyledPanel = 0x0006
}
 This enum type defines the shapes of frame available. More...
 
enum  StyleMask { Shadow_Mask = 0x00f0, Shape_Mask = 0x000f }
 This enum defines two constants that can be used to extract the two components of frameStyle(): More...
 
- Public Types inherited from QWidget
enum  RenderFlag { DrawWindowBackground = 0x1, DrawChildren = 0x2, IgnoreMask = 0x4 }
 This enum describes how to render the widget when calling QWidget::render(). More...
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric {
  PdmWidth = 1, PdmHeight, PdmWidthMM, PdmHeightMM,
  PdmNumColors, PdmDepth, PdmDpiX, PdmDpiY,
  PdmPhysicalDpiX, PdmPhysicalDpiY
}
 
- Signals inherited from QAbstractItemView
void activated (const QModelIndex &index)
 This signal is emitted when the item specified by index is activated by the user. More...
 
void clicked (const QModelIndex &index)
 This signal is emitted when a mouse button is clicked. More...
 
void doubleClicked (const QModelIndex &index)
 This signal is emitted when a mouse button is double-clicked. More...
 
void entered (const QModelIndex &index)
 This signal is emitted when the mouse cursor enters the item specified by index. More...
 
void pressed (const QModelIndex &index)
 This signal is emitted when a mouse button is pressed. More...
 
void viewportEntered ()
 This signal is emitted when the mouse cursor enters the viewport. More...
 
- Signals inherited from QWidget
void customContextMenuRequested (const QPoint &pos)
 This signal is emitted when the widget's contextMenuPolicy is Qt::CustomContextMenu, and the user has requested a context menu on the widget. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Functions inherited from QWidget
static QWidgetfind (WId)
 Returns a pointer to the widget with window identifer/handle id. More...
 
static QWidgetkeyboardGrabber ()
 Returns the widget that is currently grabbing the keyboard input. More...
 
static QWidgetmouseGrabber ()
 Returns the widget that is currently grabbing the mouse input. More...
 
static void setTabOrder (QWidget *, QWidget *)
 Puts the second widget after the first widget in the focus order. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Functions inherited from QPaintDevice
static QWSDisplayqwsDisplay ()
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Types inherited from QAbstractItemView
enum  CursorAction {
  MoveUp, MoveDown, MoveLeft, MoveRight,
  MoveHome, MoveEnd, MovePageUp, MovePageDown,
  MoveNext, MovePrevious
}
 This enum describes the different ways to navigate between items,. More...
 
enum  DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport }
 This enum indicates the position of the drop indicator in relation to the index at the current mouse position: More...
 
enum  State {
  NoState, DraggingState, DragSelectingState, EditingState,
  ExpandingState, CollapsingState, AnimatingState
}
 Describes the different states the view can be in. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Protected Variables inherited from QPaintDevice
ushort painters
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QTableView class provides a default model/view implementation of a table view.

A QTableView implements a table view that displays items from a model. 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.

The QTableView class is one of the Model/View Classes and is part of Qt's Model/View Programming{model/view framework}.

QTableView implements the interfaces defined by the QAbstractItemView class to allow it to display data provided by models derived from the QAbstractItemModel class.

Navigation

You can navigate the cells in the table by clicking on a cell with the mouse, or by using the arrow keys. Because QTableView enables tabKeyNavigation by default, you can also hit Tab and Backtab to move from cell to cell.

Visual Appearance

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. The height of each row in the table can be found by using rowHeight(); similarly, the width of columns can be found using columnWidth(). Since both of these are plain widgets, you can hide either of them using their hide() functions.

Rows and columns can be hidden and shown with hideRow(), hideColumn(), showRow(), and showColumn(). They can be selected with selectRow() and selectColumn(). The table will show a grid depending on the showGrid property.

The items shown in a table view, like those in the other item views, are rendered and edited using standard delegates. However, for some tasks it is sometimes useful to be able to insert widgets in a table instead. Widgets are set for particular indexes with the QAbstractItemView::setIndexWidget() function, and later retrieved with QAbstractItemView::indexWidget().

qtableview-resized.png

By default, the cells in a table do not expand to fill the available space.

You can make the cells fill the available space by stretching the last header section. Access the relevant header using horizontalHeader() or verticalHeader() and set the header's QHeaderView::stretchLastSection property.

To distribute the available space according to the space requirement of each column or row, call the view's resizeColumnsToContents() or resizeRowsToContents() functions.

Coordinate Systems

For some specialized forms of tables it is useful to be able to convert between row and column indexes and widget coordinates. 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(). The columnAt() and columnViewportPosition() functions provide the equivalent conversion operations between x-coordinates and column indexes.

Styles

QTableView is styled appropriately for each platform. The following images show how it looks on three different platforms. Go to the Qt Widget Gallery to see its appearance in other styles.

windowsxp-tableview.png
Screenshot of a Windows XP style table view
macintosh-tableview.png
Screenshot of a Macintosh style table view
plastique-tableview.png
Screenshot of a Plastique style table view
A Windows XP Style Widget Gallery{Windows XP style} table view. A Macintosh Style Widget Gallery{Macintosh style} table view. A Plastique Style Widget Gallery{Plastique style} table view.
See also
QTableWidget, {View Classes}, QAbstractItemModel, QAbstractItemView, {Chart Example}, {Pixelator Example}, {Table Model Example}

Definition at line 58 of file qtableview.h.

Constructors and Destructors

◆ QTableView() [1/2]

QTableView::QTableView ( QWidget parent = 0)
explicit

Constructs a table view with a parent to represent the data.

See also
QAbstractItemModel

Definition at line 1076 of file qtableview.cpp.

1077  : QAbstractItemView(*new QTableViewPrivate, parent)
1078 {
1079  Q_D(QTableView);
1080  d->init();
1081 }
double d
Definition: qnumeric_p.h:62
QAbstractItemView(QWidget *parent=0)
Constructs an abstract item view with the given parent.
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ ~QTableView()

QTableView::~QTableView ( )

Destroys the table view.

Definition at line 1096 of file qtableview.cpp.

1097 {
1098 }

◆ QTableView() [2/2]

QTableView::QTableView ( QTableViewPrivate dd,
QWidget parent 
)
protected
Warning
This function is not part of the public interface.

Definition at line 1086 of file qtableview.cpp.

1087  : QAbstractItemView(dd, parent)
1088 {
1089  Q_D(QTableView);
1090  d->init();
1091 }
double d
Definition: qnumeric_p.h:62
QAbstractItemView(QWidget *parent=0)
Constructs an abstract item view with the given parent.
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

Functions

◆ clearSpans()

void QTableView::clearSpans ( )

Removes all row and column spans in the table view.

Since
4.4
See also
setSpan()

Definition at line 3172 of file qtableview.cpp.

3173 {
3174  Q_D(QTableView);
3175  d->spans.clear();
3176  d->viewport->update();
3177 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ columnAt()

int QTableView::columnAt ( int  x) const

Returns the column in which the given x-coordinate, x, in contents coordinates is located.

Note
This function returns -1 if the given coordinate is not valid (has no column).
See also
rowAt()

Definition at line 2378 of file qtableview.cpp.

Referenced by indexAt().

2379 {
2380  Q_D(const QTableView);
2381  return d->horizontalHeader->logicalIndexAt(x);
2382 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
int x() const

◆ columnCountChanged

void QTableView::columnCountChanged ( int  oldCount,
int  newCount 
)
protectedslot

This slot is called whenever columns are added or deleted.

The previous number of columns is specified by oldCount, and the new number of columns is specified by newCount.

Definition at line 2069 of file qtableview.cpp.

Referenced by setHorizontalHeader().

2070 {
2071  Q_D(QTableView);
2072  updateGeometries();
2074  d->horizontalHeader->setOffsetToSectionPosition(horizontalScrollBar()->value());
2075  else
2076  d->horizontalHeader->setOffset(horizontalScrollBar()->value());
2077  d->viewport->update();
2078 }
double d
Definition: qnumeric_p.h:62
ScrollMode horizontalScrollMode() const
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
QScrollBar * horizontalScrollBar() const
Returns the horizontal scroll bar.
void updateGeometries()
Reimplemented Function

◆ columnMoved

void QTableView::columnMoved ( int  column,
int  oldIndex,
int  newIndex 
)
protectedslot

This slot is called to change the index of the given column in the table view.

The old index is specified by oldIndex, and the new index by newIndex.

See also
rowMoved()

Definition at line 2904 of file qtableview.cpp.

Referenced by setHorizontalHeader().

2905 {
2906  Q_D(QTableView);
2907 
2908  updateGeometries();
2909  int logicalOldIndex = d->horizontalHeader->logicalIndex(oldIndex);
2910  int logicalNewIndex = d->horizontalHeader->logicalIndex(newIndex);
2911  if (d->hasSpans()) {
2912  d->viewport->update();
2913  } else {
2914  int oldLeft = columnViewportPosition(logicalOldIndex);
2915  int newLeft = columnViewportPosition(logicalNewIndex);
2916  int oldRight = oldLeft + columnWidth(logicalOldIndex);
2917  int newRight = newLeft + columnWidth(logicalNewIndex);
2918  int left = qMin(oldLeft, newLeft);
2919  int right = qMax(oldRight, newRight);
2920  int width = right - left;
2921  d->viewport->update(left, 0, width, d->viewport->height());
2922  }
2923 }
double d
Definition: qnumeric_p.h:62
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
int columnWidth(int column) const
Returns the width of the given column.
int columnViewportPosition(int column) const
Returns the x-coordinate in contents coordinates of the given column.
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
int width() const
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void updateGeometries()
Reimplemented Function
Q_CORE_EXPORT QTextStream & left(QTextStream &s)

◆ columnResized

void QTableView::columnResized ( int  column,
int  oldWidth,
int  newWidth 
)
protectedslot

This slot is called to change the width of the given column.

The old width is specified by oldWidth, and the new width by newWidth.

See also
rowResized()

Definition at line 2804 of file qtableview.cpp.

Referenced by setHorizontalHeader().

2805 {
2806  Q_D(QTableView);
2807  d->columnsToUpdate.append(column);
2808  if (d->columnResizeTimerID == 0)
2809  d->columnResizeTimerID = startTimer(0);
2810 }
int startTimer(int interval)
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer...
Definition: qobject.cpp:1623
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ columnSpan()

int QTableView::columnSpan ( int  row,
int  column 
) const

Returns the column span of the table element at (row, column).

Since
4.2

The default is 1.

See also
setSpan(), rowSpan()

Definition at line 3155 of file qtableview.cpp.

3156 {
3157  Q_D(const QTableView);
3158  return d->columnSpan(row, column);
3159 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ columnViewportPosition()

int QTableView::columnViewportPosition ( int  column) const

Returns the x-coordinate in contents coordinates of the given column.

Definition at line 2363 of file qtableview.cpp.

Referenced by columnMoved(), paintEvent(), sizeHintForRow(), timerEvent(), visualRect(), and visualRegionForSelection().

2364 {
2365  Q_D(const QTableView);
2366  return d->horizontalHeader->sectionViewportPosition(column);
2367 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ columnWidth()

int QTableView::columnWidth ( int  column) const

Returns the width of the given column.

See also
resizeColumnToContents(), rowHeight()

Definition at line 2403 of file qtableview.cpp.

Referenced by columnMoved(), paintEvent(), scrollTo(), sizeHintForRow(), timerEvent(), visualRect(), and visualRegionForSelection().

2404 {
2405  Q_D(const QTableView);
2406  return d->horizontalHeader->sectionSize(column);
2407 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ currentChanged()

void QTableView::currentChanged ( const QModelIndex current,
const QModelIndex previous 
)
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 3269 of file qtableview.cpp.

3270 {
3271 #ifndef QT_NO_ACCESSIBILITY
3272  if (QAccessible::isActive()) {
3273  if (current.isValid()) {
3274 #ifdef Q_WS_X11
3275  Q_D(QTableView);
3276  int entry = d->accessibleTable2Index(current);
3278 #else
3279  int entry = visualIndex(current) + 1;
3280  if (horizontalHeader())
3281  ++entry;
3283 #endif
3284  }
3285  }
3286 #endif
3287  QAbstractItemView::currentChanged(current, previous);
3288 }
double d
Definition: qnumeric_p.h:62
static void updateAccessibility(QObject *, int who, Event reason)
Notifies accessibility clients about a change in object&#39;s accessibility information.
QHeaderView * horizontalHeader() const
Returns the table view&#39;s horizontal header.
#define Q_D(Class)
Definition: qglobal.h:2482
QWidget * viewport() const
Returns the viewport widget.
virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous)
This slot is called when a new item becomes the current item.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool isValid() const
Returns true if this model index is valid; otherwise returns false.
static bool isActive()
Returns true if an accessibility implementation has been requested during the runtime of the applicat...
int visualIndex(const QModelIndex &index) const

◆ doItemsLayout()

void QTableView::doItemsLayout ( )
virtual
Warning
This function is not part of the public interface.

Reimplemented from QAbstractItemView.

Definition at line 1152 of file qtableview.cpp.

1153 {
1154  Q_D(QTableView);
1157  const int max = verticalScrollBar()->maximum();
1158  if (max > 0 && verticalScrollBar()->value() == max)
1159  d->verticalHeader->setOffsetToLastSection();
1160  else
1161  d->verticalHeader->setOffsetToSectionPosition(verticalScrollBar()->value());
1162  } else {
1163  d->verticalHeader->setOffset(verticalScrollBar()->value());
1164  }
1165  if (!d->verticalHeader->updatesEnabled())
1166  d->verticalHeader->setUpdatesEnabled(true);
1167 }
double d
Definition: qnumeric_p.h:62
QScrollBar * verticalScrollBar() const
Returns the vertical scroll bar.
virtual void doItemsLayout()
This function is intended to lay out the items in the view.
#define Q_D(Class)
Definition: qglobal.h:2482
ScrollMode verticalScrollMode() const
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
int maximum() const

◆ gridStyle()

Qt::PenStyle QTableView::gridStyle ( ) const

Referenced by setShowGrid().

◆ hideColumn

void QTableView::hideColumn ( int  column)
slot

Hide the given column.

See also
showColumn() hideRow()

Definition at line 2965 of file qtableview.cpp.

2966 {
2967  Q_D(QTableView);
2968  d->horizontalHeader->hideSection(column);
2969 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ hideRow

void QTableView::hideRow ( int  row)
slot

Hide the given row.

See also
showRow() hideColumn()

Definition at line 2954 of file qtableview.cpp.

2955 {
2956  Q_D(QTableView);
2957  d->verticalHeader->hideSection(row);
2958 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ horizontalHeader()

QHeaderView * QTableView::horizontalHeader ( ) const

Returns the table view's horizontal header.

See also
setHorizontalHeader(), verticalHeader(), QAbstractItemModel::headerData()

Definition at line 1186 of file qtableview.cpp.

Referenced by currentChanged(), paintEvent(), QCalendarView::QCalendarView(), QTableViewPrivate::selectColumn(), selectionChanged(), QTableViewPrivate::selectRow(), QTableModel::setItem(), setSelection(), setSortingEnabled(), QTableWidget::sortItems(), QTableWidget::visualColumn(), and visualRegionForSelection().

1187 {
1188  Q_D(const QTableView);
1189  return d->horizontalHeader;
1190 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ horizontalOffset()

int QTableView::horizontalOffset ( ) const
protectedvirtual

Returns the horizontal offset of the items in the table view.

Note that the table view uses the horizontal header section positions to determine the positions of columns in the view.

See also
verticalOffset()

Implements QAbstractItemView.

Definition at line 1546 of file qtableview.cpp.

Referenced by scrollTo().

1547 {
1548  Q_D(const QTableView);
1549  return d->horizontalHeader->offset();
1550 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ horizontalScrollbarAction()

void QTableView::horizontalScrollbarAction ( int  action)
protectedvirtual
Warning
This function is not part of the public interface.

Reimplemented from QAbstractItemView.

Definition at line 3085 of file qtableview.cpp.

3086 {
3088 }
virtual void horizontalScrollbarAction(int action)

◆ indexAt()

QModelIndex QTableView::indexAt ( const QPoint p) const
virtual

Returns the index position of the model item corresponding to the table item at position pos in contents coordinates.

Implements QAbstractItemView.

Definition at line 1521 of file qtableview.cpp.

Referenced by QCalendarView::handleMouseEvent(), QTableWidget::itemAt(), and setSelection().

1522 {
1523  Q_D(const QTableView);
1524  d->executePostedLayout();
1525  int r = rowAt(pos.y());
1526  int c = columnAt(pos.x());
1527  if (r >= 0 && c >= 0) {
1528  if (d->hasSpans()) {
1529  QSpanCollection::Span span = d->span(r, c);
1530  r = span.top();
1531  c = span.left();
1532  }
1533  return d->model->index(r, c, d->root);
1534  }
1535  return QModelIndex();
1536 }
QPoint pos() const
double d
Definition: qnumeric_p.h:62
int columnAt(int x) const
Returns the column in which the given x-coordinate, x, in contents coordinates is located...
unsigned char c[8]
Definition: qnumeric_p.h:62
int rowAt(int y) const
Returns the row in which the given y-coordinate, y, in contents coordinates is located.
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
The QModelIndex class is used to locate data in a data model.
int y() const
Returns the y coordinate of this point.
Definition: qpoint.h:131
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128

◆ isColumnHidden()

bool QTableView::isColumnHidden ( int  column) const

Returns true if the given column is hidden; otherwise returns false.

See also
isRowHidden()

Definition at line 2438 of file qtableview.cpp.

Referenced by isIndexHidden(), moveCursor(), and scrollTo().

2439 {
2440  Q_D(const QTableView);
2441  return d->horizontalHeader->isSectionHidden(column);
2442 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ isCornerButtonEnabled()

bool QTableView::isCornerButtonEnabled ( ) const

Definition at line 2614 of file qtableview.cpp.

2615 {
2616  Q_D(const QTableView);
2617  return d->cornerWidget->isEnabled();
2618 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ isIndexHidden()

bool QTableView::isIndexHidden ( const QModelIndex index) const
protectedvirtual

Reimplemented Function

Implements QAbstractItemView.

Definition at line 3093 of file qtableview.cpp.

Referenced by selectedIndexes(), QTableWidget::selectedItems(), and visualRect().

3094 {
3095  Q_D(const QTableView);
3096  Q_ASSERT(d->isIndexValid(index));
3097  if (isRowHidden(index.row()) || isColumnHidden(index.column()))
3098  return true;
3099  if (d->hasSpans()) {
3100  QSpanCollection::Span span = d->span(index.row(), index.column());
3101  return !((span.top() == index.row()) && (span.left() == index.column()));
3102  }
3103  return false;
3104 }
double d
Definition: qnumeric_p.h:62
bool isColumnHidden(int column) const
Returns true if the given column is hidden; otherwise returns false.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define Q_D(Class)
Definition: qglobal.h:2482
int row() const
Returns the row this model index refers to.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool isRowHidden(int row) const
Returns true if the given row is hidden; otherwise returns false.
int column() const
Returns the column this model index refers to.

◆ isRowHidden()

bool QTableView::isRowHidden ( int  row) const

Returns true if the given row is hidden; otherwise returns false.

See also
isColumnHidden()

Definition at line 2414 of file qtableview.cpp.

Referenced by isIndexHidden(), moveCursor(), and scrollTo().

2415 {
2416  Q_D(const QTableView);
2417  return d->verticalHeader->isSectionHidden(row);
2418 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ isSortingEnabled()

bool QTableView::isSortingEnabled ( ) const

Definition at line 2506 of file qtableview.cpp.

Referenced by QTableWidget::isSortingEnabled().

2507 {
2508  Q_D(const QTableView);
2509  return d->sortingEnabled;
2510 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ moveCursor()

QModelIndex QTableView::moveCursor ( CursorAction  cursorAction,
Qt::KeyboardModifiers  modifiers 
)
protectedvirtual

Moves the cursor in accordance with the given cursorAction, using the information provided by the modifiers.

See also
QAbstractItemView::CursorAction

Implements QAbstractItemView.

Reimplemented in QCalendarView.

Definition at line 1577 of file qtableview.cpp.

Referenced by QCalendarView::moveCursor().

1578 {
1579  Q_D(QTableView);
1580  Q_UNUSED(modifiers);
1581 
1582  int bottom = d->model->rowCount(d->root) - 1;
1583  // make sure that bottom is the bottommost *visible* row
1584  while (bottom >= 0 && isRowHidden(d->logicalRow(bottom)))
1585  --bottom;
1586 
1587  int right = d->model->columnCount(d->root) - 1;
1588 
1589  while (right >= 0 && isColumnHidden(d->logicalColumn(right)))
1590  --right;
1591 
1592  if (bottom == -1 || right == -1)
1593  return QModelIndex(); // model is empty
1594 
1595  QModelIndex current = currentIndex();
1596 
1597  if (!current.isValid()) {
1598  int row = 0;
1599  int column = 0;
1600  while (column < right && isColumnHidden(d->logicalColumn(column)))
1601  ++column;
1602  while (isRowHidden(d->logicalRow(row)) && row < bottom)
1603  ++row;
1604  d->visualCursor = QPoint(column, row);
1605  return d->model->index(d->logicalRow(row), d->logicalColumn(column), d->root);
1606  }
1607 
1608  // Update visual cursor if current index has changed.
1609  QPoint visualCurrent(d->visualColumn(current.column()), d->visualRow(current.row()));
1610  if (visualCurrent != d->visualCursor) {
1611  if (d->hasSpans()) {
1612  QSpanCollection::Span span = d->span(current.row(), current.column());
1613  if (span.top() > d->visualCursor.y() || d->visualCursor.y() > span.bottom()
1614  || span.left() > d->visualCursor.x() || d->visualCursor.x() > span.right())
1615  d->visualCursor = visualCurrent;
1616  } else {
1617  d->visualCursor = visualCurrent;
1618  }
1619  }
1620 
1621  int visualRow = d->visualCursor.y();
1622  if (visualRow > bottom)
1623  visualRow = bottom;
1624  Q_ASSERT(visualRow != -1);
1625  int visualColumn = d->visualCursor.x();
1626  if (visualColumn > right)
1627  visualColumn = right;
1628  Q_ASSERT(visualColumn != -1);
1629 
1630  if (isRightToLeft()) {
1631  if (cursorAction == MoveLeft)
1632  cursorAction = MoveRight;
1633  else if (cursorAction == MoveRight)
1634  cursorAction = MoveLeft;
1635  }
1636 
1637  switch (cursorAction) {
1638  case MoveUp: {
1639  int originalRow = visualRow;
1640 #ifdef QT_KEYPAD_NAVIGATION
1641  if (QApplication::keypadNavigationEnabled() && visualRow == 0)
1642  visualRow = d->visualRow(model()->rowCount() - 1) + 1;
1643  // FIXME? visualRow = bottom + 1;
1644 #endif
1645  int r = d->logicalRow(visualRow);
1646  int c = d->logicalColumn(visualColumn);
1647  if (r != -1 && d->hasSpans()) {
1648  QSpanCollection::Span span = d->span(r, c);
1649  if (span.width() > 1 || span.height() > 1)
1650  visualRow = d->visualRow(span.top());
1651  }
1652  while (visualRow >= 0) {
1653  --visualRow;
1654  r = d->logicalRow(visualRow);
1655  c = d->logicalColumn(visualColumn);
1656  if (r == -1 || (!isRowHidden(r) && d->isCellEnabled(r, c)))
1657  break;
1658  }
1659  if (visualRow < 0)
1660  visualRow = originalRow;
1661  break;
1662  }
1663  case MoveDown: {
1664  int originalRow = visualRow;
1665  if (d->hasSpans()) {
1666  QSpanCollection::Span span = d->span(current.row(), current.column());
1667  visualRow = d->visualRow(d->rowSpanEndLogical(span.top(), span.height()));
1668  }
1669 #ifdef QT_KEYPAD_NAVIGATION
1670  if (QApplication::keypadNavigationEnabled() && visualRow >= bottom)
1671  visualRow = -1;
1672 #endif
1673  int r = d->logicalRow(visualRow);
1674  int c = d->logicalColumn(visualColumn);
1675  if (r != -1 && d->hasSpans()) {
1676  QSpanCollection::Span span = d->span(r, c);
1677  if (span.width() > 1 || span.height() > 1)
1678  visualRow = d->visualRow(d->rowSpanEndLogical(span.top(), span.height()));
1679  }
1680  while (visualRow <= bottom) {
1681  ++visualRow;
1682  r = d->logicalRow(visualRow);
1683  c = d->logicalColumn(visualColumn);
1684  if (r == -1 || (!isRowHidden(r) && d->isCellEnabled(r, c)))
1685  break;
1686  }
1687  if (visualRow > bottom)
1688  visualRow = originalRow;
1689  break;
1690  }
1691  case MovePrevious:
1692  case MoveLeft: {
1693  int originalRow = visualRow;
1694  int originalColumn = visualColumn;
1695  bool firstTime = true;
1696  bool looped = false;
1697  bool wrapped = false;
1698  do {
1699  int r = d->logicalRow(visualRow);
1700  int c = d->logicalColumn(visualColumn);
1701  if (firstTime && c != -1 && d->hasSpans()) {
1702  firstTime = false;
1703  QSpanCollection::Span span = d->span(r, c);
1704  if (span.width() > 1 || span.height() > 1)
1705  visualColumn = d->visualColumn(span.left());
1706  }
1707  while (visualColumn >= 0) {
1708  --visualColumn;
1709  r = d->logicalRow(visualRow);
1710  c = d->logicalColumn(visualColumn);
1711  if (r == -1 || c == -1 || (!isRowHidden(r) && !isColumnHidden(c) && d->isCellEnabled(r, c)))
1712  break;
1713  if (wrapped && (originalRow < visualRow || (originalRow == visualRow && originalColumn <= visualColumn))) {
1714  looped = true;
1715  break;
1716  }
1717  }
1718  if (cursorAction == MoveLeft || visualColumn >= 0)
1719  break;
1720  visualColumn = right + 1;
1721  if (visualRow == 0) {
1722  wrapped = true;
1723  visualRow = bottom;
1724  } else {
1725  --visualRow;
1726  }
1727  } while (!looped);
1728  if (visualColumn < 0)
1729  visualColumn = originalColumn;
1730  break;
1731  }
1732  case MoveNext:
1733  case MoveRight: {
1734  int originalRow = visualRow;
1735  int originalColumn = visualColumn;
1736  bool firstTime = true;
1737  bool looped = false;
1738  bool wrapped = false;
1739  do {
1740  int r = d->logicalRow(visualRow);
1741  int c = d->logicalColumn(visualColumn);
1742  if (firstTime && c != -1 && d->hasSpans()) {
1743  firstTime = false;
1744  QSpanCollection::Span span = d->span(r, c);
1745  if (span.width() > 1 || span.height() > 1)
1746  visualColumn = d->visualColumn(d->columnSpanEndLogical(span.left(), span.width()));
1747  }
1748  while (visualColumn <= right) {
1749  ++visualColumn;
1750  r = d->logicalRow(visualRow);
1751  c = d->logicalColumn(visualColumn);
1752  if (r == -1 || c == -1 || (!isRowHidden(r) && !isColumnHidden(c) && d->isCellEnabled(r, c)))
1753  break;
1754  if (wrapped && (originalRow > visualRow || (originalRow == visualRow && originalColumn >= visualColumn))) {
1755  looped = true;
1756  break;
1757  }
1758  }
1759  if (cursorAction == MoveRight || visualColumn <= right)
1760  break;
1761  visualColumn = -1;
1762  if (visualRow == bottom) {
1763  wrapped = true;
1764  visualRow = 0;
1765  } else {
1766  ++visualRow;
1767  }
1768  } while (!looped);
1769  if (visualColumn > right)
1770  visualColumn = originalColumn;
1771  break;
1772  }
1773  case MoveHome:
1774  visualColumn = 0;
1775  while (visualColumn < right && d->isVisualColumnHiddenOrDisabled(visualRow, visualColumn))
1776  ++visualColumn;
1777  if (modifiers & Qt::ControlModifier) {
1778  visualRow = 0;
1779  while (visualRow < bottom && d->isVisualRowHiddenOrDisabled(visualRow, visualColumn))
1780  ++visualRow;
1781  }
1782  break;
1783  case MoveEnd:
1784  visualColumn = right;
1785  if (modifiers & Qt::ControlModifier)
1786  visualRow = bottom;
1787  break;
1788  case MovePageUp: {
1789  int newRow = rowAt(visualRect(current).top() - d->viewport->height());
1790  if (newRow == -1)
1791  newRow = d->logicalRow(0);
1792  return d->model->index(newRow, current.column(), d->root);
1793  }
1794  case MovePageDown: {
1795  int newRow = rowAt(visualRect(current).bottom() + d->viewport->height());
1796  if (newRow == -1)
1797  newRow = d->logicalRow(bottom);
1798  return d->model->index(newRow, current.column(), d->root);
1799  }}
1800 
1801  d->visualCursor = QPoint(visualColumn, visualRow);
1802  int logicalRow = d->logicalRow(visualRow);
1803  int logicalColumn = d->logicalColumn(visualColumn);
1804  if (!d->model->hasIndex(logicalRow, logicalColumn, d->root))
1805  return QModelIndex();
1806 
1807  QModelIndex result = d->model->index(logicalRow, logicalColumn, d->root);
1808  if (!d->isRowHidden(logicalRow) && !d->isColumnHidden(logicalColumn) && d->isIndexEnabled(result))
1809  return result;
1810 
1811  return QModelIndex();
1812 }
double d
Definition: qnumeric_p.h:62
bool isColumnHidden(int column) const
Returns true if the given column is hidden; otherwise returns false.
unsigned char c[8]
Definition: qnumeric_p.h:62
QRect visualRect(const QModelIndex &index) const
Returns the rectangle on the viewport occupied by the given index.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
int rowAt(int y) const
Returns the row in which the given y-coordinate, y, in contents coordinates is located.
#define Q_D(Class)
Definition: qglobal.h:2482
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
int row() const
Returns the row this model index refers to.
QModelIndex currentIndex() const
Returns the model index of the current item.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool isValid() const
Returns true if this model index is valid; otherwise returns false.
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
The QModelIndex class is used to locate data in a data model.
bool isRowHidden(int row) const
Returns true if the given row is hidden; otherwise returns false.
bool isRightToLeft() const
Definition: qwidget.h:428
Q_TESTLIB_EXPORT QTestData & newRow(const char *dataTag)
Appends a new row to the current test data.
Definition: qtestcase.cpp:2183
QAbstractItemModel * model() const
Returns the model that this view is presenting.
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729
int column() const
Returns the column this model index refers to.

◆ paintEvent()

void QTableView::paintEvent ( QPaintEvent e)
protectedvirtual

Paints the table on receipt of the given paint event event.

Reimplemented from QWidget.

Definition at line 1343 of file qtableview.cpp.

1344 {
1345  Q_D(QTableView);
1346  // setup temp variables for the painting
1347  QStyleOptionViewItemV4 option = d->viewOptionsV4();
1348  const QPoint offset = d->scrollDelayOffset;
1349  const bool showGrid = d->showGrid;
1350  const int gridSize = showGrid ? 1 : 0;
1351  const int gridHint = style()->styleHint(QStyle::SH_Table_GridLineColor, &option, this);
1352  const QColor gridColor = static_cast<QRgb>(gridHint);
1353  const QPen gridPen = QPen(gridColor, 0, d->gridStyle);
1354  const QHeaderView *verticalHeader = d->verticalHeader;
1355  const QHeaderView *horizontalHeader = d->horizontalHeader;
1356  const bool alternate = d->alternatingColors;
1357  const bool rightToLeft = isRightToLeft();
1358 
1359  QPainter painter(d->viewport);
1360 
1361  // if there's nothing to do, clear the area and return
1362  if (horizontalHeader->count() == 0 || verticalHeader->count() == 0 || !d->itemDelegate)
1363  return;
1364 
1365  uint x = horizontalHeader->length() - horizontalHeader->offset() - (rightToLeft ? 0 : 1);
1366  uint y = verticalHeader->length() - verticalHeader->offset() - 1;
1367 
1368  const QRegion region = event->region().translated(offset);
1369  const QVector<QRect> rects = region.rects();
1370 
1371  //firstVisualRow is the visual index of the first visible row. lastVisualRow is the visual index of the last visible Row.
1372  //same goes for ...VisualColumn
1373  int firstVisualRow = qMax(verticalHeader->visualIndexAt(0),0);
1374  int lastVisualRow = verticalHeader->visualIndexAt(verticalHeader->viewport()->height());
1375  if (lastVisualRow == -1)
1376  lastVisualRow = d->model->rowCount(d->root) - 1;
1377 
1378  int firstVisualColumn = horizontalHeader->visualIndexAt(0);
1379  int lastVisualColumn = horizontalHeader->visualIndexAt(horizontalHeader->viewport()->width());
1380  if (rightToLeft)
1381  qSwap(firstVisualColumn, lastVisualColumn);
1382  if (firstVisualColumn == -1)
1383  firstVisualColumn = 0;
1384  if (lastVisualColumn == -1)
1385  lastVisualColumn = horizontalHeader->count() - 1;
1386 
1387  QBitArray drawn((lastVisualRow - firstVisualRow + 1) * (lastVisualColumn - firstVisualColumn + 1));
1388 
1389  if (d->hasSpans()) {
1390  d->drawAndClipSpans(region, &painter, option, &drawn,
1391  firstVisualRow, lastVisualRow, firstVisualColumn, lastVisualColumn);
1392  }
1393 
1394  for (int i = 0; i < rects.size(); ++i) {
1395  QRect dirtyArea = rects.at(i);
1396  dirtyArea.setBottom(qMin(dirtyArea.bottom(), int(y)));
1397  if (rightToLeft) {
1398  dirtyArea.setLeft(qMax(dirtyArea.left(), d->viewport->width() - int(x)));
1399  } else {
1400  dirtyArea.setRight(qMin(dirtyArea.right(), int(x)));
1401  }
1402 
1403  // get the horizontal start and end visual sections
1404  int left = horizontalHeader->visualIndexAt(dirtyArea.left());
1405  int right = horizontalHeader->visualIndexAt(dirtyArea.right());
1406  if (rightToLeft)
1407  qSwap(left, right);
1408  if (left == -1) left = 0;
1409  if (right == -1) right = horizontalHeader->count() - 1;
1410 
1411  // get the vertical start and end visual sections and if alternate color
1412  int bottom = verticalHeader->visualIndexAt(dirtyArea.bottom());
1413  if (bottom == -1) bottom = verticalHeader->count() - 1;
1414  int top = 0;
1415  bool alternateBase = false;
1416  if (alternate && verticalHeader->sectionsHidden()) {
1417  uint verticalOffset = verticalHeader->offset();
1418  int row = verticalHeader->logicalIndex(top);
1419  for (int y = 0;
1420  ((uint)(y += verticalHeader->sectionSize(top)) <= verticalOffset) && (top < bottom);
1421  ++top) {
1422  row = verticalHeader->logicalIndex(top);
1423  if (alternate && !verticalHeader->isSectionHidden(row))
1424  alternateBase = !alternateBase;
1425  }
1426  } else {
1427  top = verticalHeader->visualIndexAt(dirtyArea.top());
1428  alternateBase = (top & 1) && alternate;
1429  }
1430  if (top == -1 || top > bottom)
1431  continue;
1432 
1433  // Paint each row item
1434  for (int visualRowIndex = top; visualRowIndex <= bottom; ++visualRowIndex) {
1435  int row = verticalHeader->logicalIndex(visualRowIndex);
1436  if (verticalHeader->isSectionHidden(row))
1437  continue;
1438  int rowY = rowViewportPosition(row);
1439  rowY += offset.y();
1440  int rowh = rowHeight(row) - gridSize;
1441 
1442  // Paint each column item
1443  for (int visualColumnIndex = left; visualColumnIndex <= right; ++visualColumnIndex) {
1444  int currentBit = (visualRowIndex - firstVisualRow) * (lastVisualColumn - firstVisualColumn + 1)
1445  + visualColumnIndex - firstVisualColumn;
1446 
1447  if (currentBit < 0 || currentBit >= drawn.size() || drawn.testBit(currentBit))
1448  continue;
1449  drawn.setBit(currentBit);
1450 
1451  int col = horizontalHeader->logicalIndex(visualColumnIndex);
1452  if (horizontalHeader->isSectionHidden(col))
1453  continue;
1454  int colp = columnViewportPosition(col);
1455  colp += offset.x();
1456  int colw = columnWidth(col) - gridSize;
1457 
1458  const QModelIndex index = d->model->index(row, col, d->root);
1459  if (index.isValid()) {
1460  option.rect = QRect(colp + (showGrid && rightToLeft ? 1 : 0), rowY, colw, rowh);
1461  if (alternate) {
1462  if (alternateBase)
1464  else
1465  option.features &= ~QStyleOptionViewItemV2::Alternate;
1466  }
1467  d->drawCell(&painter, option, index);
1468  }
1469  }
1470  alternateBase = !alternateBase && alternate;
1471  }
1472 
1473  if (showGrid) {
1474  // Find the bottom right (the last rows/columns might be hidden)
1475  while (verticalHeader->isSectionHidden(verticalHeader->logicalIndex(bottom))) --bottom;
1476  QPen old = painter.pen();
1477  painter.setPen(gridPen);
1478  // Paint each row
1479  for (int visualIndex = top; visualIndex <= bottom; ++visualIndex) {
1480  int row = verticalHeader->logicalIndex(visualIndex);
1481  if (verticalHeader->isSectionHidden(row))
1482  continue;
1483  int rowY = rowViewportPosition(row);
1484  rowY += offset.y();
1485  int rowh = rowHeight(row) - gridSize;
1486  painter.drawLine(dirtyArea.left(), rowY + rowh, dirtyArea.right(), rowY + rowh);
1487  }
1488 
1489  // Paint each column
1490  for (int h = left; h <= right; ++h) {
1491  int col = horizontalHeader->logicalIndex(h);
1492  if (horizontalHeader->isSectionHidden(col))
1493  continue;
1494  int colp = columnViewportPosition(col);
1495  colp += offset.x();
1496  if (!rightToLeft)
1497  colp += columnWidth(col) - gridSize;
1498  painter.drawLine(colp, dirtyArea.top(), colp, dirtyArea.bottom());
1499  }
1500 
1501  //draw the top & left grid lines if the headers are not visible.
1502  //We do update this line when subsequent scroll happen (see scrollContentsBy)
1503  if (horizontalHeader->isHidden() && verticalScrollMode() == ScrollPerItem)
1504  painter.drawLine(dirtyArea.left(), 0, dirtyArea.right(), 0);
1505  if (verticalHeader->isHidden() && horizontalScrollMode() == ScrollPerItem)
1506  painter.drawLine(0, dirtyArea.top(), 0, dirtyArea.bottom());
1507  painter.setPen(old);
1508  }
1509  }
1510 
1511 #ifndef QT_NO_DRAGANDDROP
1512  // Paint the dropIndicator
1513  d->paintDropIndicator(&painter);
1514 #endif
1515 }
The QPainter class performs low-level painting on widgets and other paint devices.
Definition: qpainter.h:86
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition: qcolor.h:67
double d
Definition: qnumeric_p.h:62
unsigned int QRgb
Definition: qrgb.h:53
int y() const
void setBottom(int pos)
Sets the bottom edge of the rectangle to the given y coordinate.
Definition: qrect.h:267
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
ScrollMode horizontalScrollMode() const
int width
the width of the widget excluding any window frame
Definition: qwidget.h:166
int columnWidth(int column) const
Returns the width of the given column.
int columnViewportPosition(int column) const
Returns the x-coordinate in contents coordinates of the given column.
The QStyleOptionViewItemV4 class is used to describe the parameters necessary for drawing a frame in ...
Definition: qstyleoption.h:609
QHeaderView * horizontalHeader() const
Returns the table view&#39;s horizontal header.
virtual int styleHint(StyleHint stylehint, const QStyleOption *opt=0, const QWidget *widget=0, QStyleHintReturn *returnData=0) const =0
Returns an integer representing the specified style hint for the given widget described by the provid...
int left() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:240
int rowViewportPosition(int row) const
Returns the y-coordinate in contents coordinates of the given row.
int bottom() const
Returns the y-coordinate of the rectangle&#39;s bottom edge.
Definition: qrect.h:249
#define Q_D(Class)
Definition: qglobal.h:2482
The QPen class defines how a QPainter should draw lines and outlines of shapes.
Definition: qpen.h:64
bool isSectionHidden(int logicalIndex) const
Returns true if the section specified by logicalIndex is explicitly hidden from the user; otherwise r...
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
bool showGrid() const
QStyle * style() const
Definition: qwidget.cpp:2742
The QStyleOptionViewItemV2 class is used to describe the parameters necessary for drawing a frame in ...
Definition: qstyleoption.h:562
bool isHidden() const
Returns true if the widget is hidden, otherwise returns false.
Definition: qwidget.h:1008
QWidget * viewport() const
Returns the viewport widget.
int rowHeight(int row) const
Returns the height of the given row.
bool sectionsHidden() const
int offset() const
Returns the offset of the header: this is the header&#39;s left-most (or top-most for vertical headers) v...
ViewItemFeatures features
a bitwise OR of the features that describe this view item
Definition: qstyleoption.h:577
ScrollMode verticalScrollMode() const
int height
the height of the widget excluding any window frame
Definition: qwidget.h:167
void setRight(int pos)
Sets the right edge of the rectangle to the given x coordinate.
Definition: qrect.h:264
unsigned int uint
Definition: qglobal.h:996
QHeaderView * verticalHeader() const
Returns the table view&#39;s vertical header.
The QRegion class specifies a clip region for a painter.
Definition: qregion.h:68
int length() const
Returns the length along the orientation of the header.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool isValid() const
Returns true if this model index is valid; otherwise returns false.
void qSwap(T &value1, T &value2)
Definition: qglobal.h:2181
const T & at(int i) const
Returns the item at index position i in the vector.
Definition: qvector.h:350
The QBitArray class provides an array of bits.
Definition: qbitarray.h:54
int top() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:243
int visualIndex(const QModelIndex &index) const
int visualIndexAt(int position) const
Returns the visual index of the section that covers the given position in the viewport.
int right() const
Returns the x-coordinate of the rectangle&#39;s right edge.
Definition: qrect.h:246
int x() const
int logicalIndex(int visualIndex) const
Returns the logicalIndex for the section at the given visualIndex position, or -1 if visualIndex < 0 ...
void setLeft(int pos)
Sets the left edge of the rectangle to the given x coordinate.
Definition: qrect.h:258
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
QVector< QRect > rects() const
Returns an array of non-overlapping rectangles that make up the region.
Definition: qregion.cpp:4412
The QModelIndex class is used to locate data in a data model.
int count() const
Returns the number of sections in the header.
int sectionSize(int logicalIndex) const
Returns the width (or height for vertical headers) of the given logicalIndex.
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
int y() const
Returns the y coordinate of this point.
Definition: qpoint.h:131
quint16 index
int verticalOffset() const
Returns the vertical offset of the items in the table view.
QRegion translated(int dx, int dy) const
Returns a copy of the region that is translated dx along the x axis and dy along the y axis...
Definition: qregion.cpp:743
bool isRightToLeft() const
Definition: qwidget.h:428
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128
Q_CORE_EXPORT QTextStream & left(QTextStream &s)
int size() const
Returns the number of items in the vector.
Definition: qvector.h:137
QRect rect
the area that should be used for various calculations and painting
Definition: qstyleoption.h:90
The QHeaderView class provides a header row or header column for item views.
Definition: qheaderview.h:58

◆ resizeColumnsToContents

void QTableView::resizeColumnsToContents ( )
slot

Resizes all columns based on the size hints of the delegate used to render each item in the columns.

Definition at line 3034 of file qtableview.cpp.

3035 {
3036  Q_D(QTableView);
3037  d->horizontalHeader->resizeSections(QHeaderView::ResizeToContents);
3038 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ resizeColumnToContents

void QTableView::resizeColumnToContents ( int  column)
slot

Resizes the given column based on the size hints of the delegate used to render each item in the column.

Note
Only visible columns will be resized. Reimplement sizeHintForColumn() to resize hidden columns as well.

Definition at line 3022 of file qtableview.cpp.

Referenced by setHorizontalHeader().

3023 {
3024  Q_D(QTableView);
3025  int content = sizeHintForColumn(column);
3026  int header = d->horizontalHeader->sectionSizeHint(column);
3027  d->horizontalHeader->resizeSection(column, qMax(content, header));
3028 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
int sizeHintForColumn(int column) const
Returns the size hint for the given column&#39;s width or -1 if there is no model.

◆ resizeRowsToContents

void QTableView::resizeRowsToContents ( )
slot

Resizes all rows based on the size hints of the delegate used to render each item in the rows.

Definition at line 3009 of file qtableview.cpp.

3010 {
3011  Q_D(QTableView);
3012  d->verticalHeader->resizeSections(QHeaderView::ResizeToContents);
3013 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ resizeRowToContents

void QTableView::resizeRowToContents ( int  row)
slot

Resizes the given row based on the size hints of the delegate used to render each item in the row.

Definition at line 2997 of file qtableview.cpp.

Referenced by setVerticalHeader().

2998 {
2999  Q_D(QTableView);
3000  int content = sizeHintForRow(row);
3001  int header = d->verticalHeader->sectionSizeHint(row);
3002  d->verticalHeader->resizeSection(row, qMax(content, header));
3003 }
double d
Definition: qnumeric_p.h:62
int sizeHintForRow(int row) const
Returns the size hint for the given row&#39;s height or -1 if there is no model.
#define Q_D(Class)
Definition: qglobal.h:2482
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ rowAt()

int QTableView::rowAt ( int  y) const

Returns the row in which the given y-coordinate, y, in contents coordinates is located.

Note
This function returns -1 if the given coordinate is not valid (has no row).
See also
columnAt()

Definition at line 2328 of file qtableview.cpp.

Referenced by indexAt(), and moveCursor().

2329 {
2330  Q_D(const QTableView);
2331  return d->verticalHeader->logicalIndexAt(y);
2332 }
double d
Definition: qnumeric_p.h:62
int y() const
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ rowCountChanged

void QTableView::rowCountChanged ( int  oldCount,
int  newCount 
)
protectedslot

This slot is called whenever rows are added or deleted.

The previous number of rows is specified by oldCount, and the new number of rows is specified by newCount.

Definition at line 2054 of file qtableview.cpp.

Referenced by setVerticalHeader().

2055 {
2056  Q_D(QTableView);
2057  //when removing rows, we need to disable updates for the header until the geometries have been
2058  //updated and the offset has been adjusted, or we risk calling paintSection for all the sections
2059  if (newCount < oldCount)
2060  d->verticalHeader->setUpdatesEnabled(false);
2061  d->doDelayedItemsLayout();
2062 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ rowHeight()

int QTableView::rowHeight ( int  row) const

Returns the height of the given row.

See also
resizeRowToContents(), columnWidth()

Definition at line 2353 of file qtableview.cpp.

Referenced by paintEvent(), rowMoved(), sizeHintForRow(), visualRect(), and visualRegionForSelection().

2354 {
2355  Q_D(const QTableView);
2356  return d->verticalHeader->sectionSize(row);
2357 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ rowMoved

void QTableView::rowMoved ( int  row,
int  oldIndex,
int  newIndex 
)
protectedslot

This slot is called to change the index of the given row in the table view.

The old index is specified by oldIndex, and the new index by newIndex.

See also
columnMoved()

Definition at line 2876 of file qtableview.cpp.

Referenced by setVerticalHeader().

2877 {
2878  Q_D(QTableView);
2879 
2880  updateGeometries();
2881  int logicalOldIndex = d->verticalHeader->logicalIndex(oldIndex);
2882  int logicalNewIndex = d->verticalHeader->logicalIndex(newIndex);
2883  if (d->hasSpans()) {
2884  d->viewport->update();
2885  } else {
2886  int oldTop = rowViewportPosition(logicalOldIndex);
2887  int newTop = rowViewportPosition(logicalNewIndex);
2888  int oldBottom = oldTop + rowHeight(logicalOldIndex);
2889  int newBottom = newTop + rowHeight(logicalNewIndex);
2890  int top = qMin(oldTop, newTop);
2891  int bottom = qMax(oldBottom, newBottom);
2892  int height = bottom - top;
2893  d->viewport->update(0, top, d->viewport->width(), height);
2894  }
2895 }
double d
Definition: qnumeric_p.h:62
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
int rowViewportPosition(int row) const
Returns the y-coordinate in contents coordinates of the given row.
#define Q_D(Class)
Definition: qglobal.h:2482
int height() const
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
int rowHeight(int row) const
Returns the height of the given row.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void updateGeometries()
Reimplemented Function

◆ rowResized

void QTableView::rowResized ( int  row,
int  oldHeight,
int  newHeight 
)
protectedslot

This slot is called to change the height of the given row.

The old height is specified by oldHeight, and the new height by newHeight.

See also
columnResized()

Definition at line 2789 of file qtableview.cpp.

Referenced by setVerticalHeader().

2790 {
2791  Q_D(QTableView);
2792  d->rowsToUpdate.append(row);
2793  if (d->rowResizeTimerID == 0)
2794  d->rowResizeTimerID = startTimer(0);
2795 }
int startTimer(int interval)
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer...
Definition: qobject.cpp:1623
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ rowSpan()

int QTableView::rowSpan ( int  row,
int  column 
) const

Returns the row span of the table element at (row, column).

Since
4.2

The default is 1.

See also
setSpan(), columnSpan()

Definition at line 3138 of file qtableview.cpp.

3139 {
3140  Q_D(const QTableView);
3141  return d->rowSpan(row, column);
3142 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ rowViewportPosition()

int QTableView::rowViewportPosition ( int  row) const

Returns the y-coordinate in contents coordinates of the given row.

Definition at line 2313 of file qtableview.cpp.

Referenced by paintEvent(), rowMoved(), sizeHintForRow(), timerEvent(), visualRect(), and visualRegionForSelection().

2314 {
2315  Q_D(const QTableView);
2316  return d->verticalHeader->sectionViewportPosition(row);
2317 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ scrollContentsBy()

void QTableView::scrollContentsBy ( int  dx,
int  dy 
)
protectedvirtual

Scroll the contents of the table view by (dx, dy).

Warning
This function is not part of the public interface.

Reimplemented from QAbstractScrollArea.

Definition at line 1282 of file qtableview.cpp.

1283 {
1284  Q_D(QTableView);
1285 
1286  d->delayedAutoScroll.stop(); // auto scroll was canceled by the user scrolling
1287 
1288  dx = isRightToLeft() ? -dx : dx;
1289  if (dx) {
1291  int oldOffset = d->horizontalHeader->offset();
1292  if (horizontalScrollBar()->value() == horizontalScrollBar()->maximum())
1293  d->horizontalHeader->setOffsetToLastSection();
1294  else
1295  d->horizontalHeader->setOffsetToSectionPosition(horizontalScrollBar()->value());
1296  int newOffset = d->horizontalHeader->offset();
1297  dx = isRightToLeft() ? newOffset - oldOffset : oldOffset - newOffset;
1298  } else {
1299  d->horizontalHeader->setOffset(horizontalScrollBar()->value());
1300  }
1301  }
1302  if (dy) {
1304  int oldOffset = d->verticalHeader->offset();
1305  if (verticalScrollBar()->value() == verticalScrollBar()->maximum())
1306  d->verticalHeader->setOffsetToLastSection();
1307  else
1308  d->verticalHeader->setOffsetToSectionPosition(verticalScrollBar()->value());
1309  int newOffset = d->verticalHeader->offset();
1310  dy = oldOffset - newOffset;
1311  } else {
1312  d->verticalHeader->setOffset(verticalScrollBar()->value());
1313  }
1314  }
1315  d->scrollContentsBy(dx, dy);
1316 
1317  if (d->showGrid) {
1318  //we need to update the first line of the previous top item in the view
1319  //because it has the grid drawn if the header is invisible.
1320  //It is strictly related to what's done at then end of the paintEvent
1321  if (dy > 0 && d->horizontalHeader->isHidden() && d->verticalScrollMode == ScrollPerItem) {
1322  d->viewport->update(0, dy, d->viewport->width(), dy);
1323  }
1324  if (dx > 0 && d->verticalHeader->isHidden() && d->horizontalScrollMode == ScrollPerItem) {
1325  d->viewport->update(dx, 0, dx, d->viewport->height());
1326  }
1327  }
1328 }
double d
Definition: qnumeric_p.h:62
ScrollMode horizontalScrollMode() const
QScrollBar * verticalScrollBar() const
Returns the vertical scroll bar.
#define Q_D(Class)
Definition: qglobal.h:2482
ScrollMode verticalScrollMode() const
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
QScrollBar * horizontalScrollBar() const
Returns the horizontal scroll bar.
bool isRightToLeft() const
Definition: qwidget.h:428

◆ scrollTo()

void QTableView::scrollTo ( const QModelIndex index,
ScrollHint  hint = EnsureVisible 
)
virtual

Makes sure that the given item is visible in the table view, scrolling if necessary.

Warning
This function is not part of the public interface.

Implements QAbstractItemView.

Definition at line 2662 of file qtableview.cpp.

Referenced by QTableWidget::scrollToItem().

2663 {
2664  Q_D(QTableView);
2665 
2666  // check if we really need to do anything
2667  if (!d->isIndexValid(index)
2668  || (d->model->parent(index) != d->root)
2669  || isRowHidden(index.row()) || isColumnHidden(index.column()))
2670  return;
2671 
2672  QSpanCollection::Span span;
2673  if (d->hasSpans())
2674  span = d->span(index.row(), index.column());
2675 
2676  // Adjust horizontal position
2677 
2678  int viewportWidth = d->viewport->width();
2679  int horizontalOffset = d->horizontalHeader->offset();
2680  int horizontalPosition = d->horizontalHeader->sectionPosition(index.column());
2681  int horizontalIndex = d->horizontalHeader->visualIndex(index.column());
2682  int cellWidth = d->hasSpans()
2683  ? d->columnSpanWidth(index.column(), span.width())
2684  : d->horizontalHeader->sectionSize(index.column());
2685 
2687 
2688  bool positionAtLeft = (horizontalPosition - horizontalOffset < 0);
2689  bool positionAtRight = (horizontalPosition - horizontalOffset + cellWidth > viewportWidth);
2690 
2691  if (hint == PositionAtCenter || positionAtRight) {
2692  int w = (hint == PositionAtCenter ? viewportWidth / 2 : viewportWidth);
2693  int x = cellWidth;
2694  while (horizontalIndex > 0) {
2695  x += columnWidth(d->horizontalHeader->logicalIndex(horizontalIndex-1));
2696  if (x > w)
2697  break;
2698  --horizontalIndex;
2699  }
2700  }
2701 
2702  if (positionAtRight || hint == PositionAtCenter || positionAtLeft) {
2703  int hiddenSections = 0;
2704  if (d->horizontalHeader->sectionsHidden()) {
2705  for (int s = horizontalIndex - 1; s >= 0; --s) {
2706  int column = d->horizontalHeader->logicalIndex(s);
2707  if (d->horizontalHeader->isSectionHidden(column))
2708  ++hiddenSections;
2709  }
2710  }
2711  horizontalScrollBar()->setValue(horizontalIndex - hiddenSections);
2712  }
2713 
2714  } else { // ScrollPerPixel
2715  if (hint == PositionAtCenter) {
2716  horizontalScrollBar()->setValue(horizontalPosition - ((viewportWidth - cellWidth) / 2));
2717  } else {
2718  if (horizontalPosition - horizontalOffset < 0 || cellWidth > viewportWidth)
2719  horizontalScrollBar()->setValue(horizontalPosition);
2720  else if (horizontalPosition - horizontalOffset + cellWidth > viewportWidth)
2721  horizontalScrollBar()->setValue(horizontalPosition - viewportWidth + cellWidth);
2722  }
2723  }
2724 
2725  // Adjust vertical position
2726 
2727  int viewportHeight = d->viewport->height();
2728  int verticalOffset = d->verticalHeader->offset();
2729  int verticalPosition = d->verticalHeader->sectionPosition(index.row());
2730  int verticalIndex = d->verticalHeader->visualIndex(index.row());
2731  int cellHeight = d->hasSpans()
2732  ? d->rowSpanHeight(index.row(), span.height())
2733  : d->verticalHeader->sectionSize(index.row());
2734 
2735  if (verticalPosition - verticalOffset < 0 || cellHeight > viewportHeight) {
2736  if (hint == EnsureVisible)
2737  hint = PositionAtTop;
2738  } else if (verticalPosition - verticalOffset + cellHeight > viewportHeight) {
2739  if (hint == EnsureVisible)
2740  hint = PositionAtBottom;
2741  }
2742 
2744 
2745  if (hint == PositionAtBottom || hint == PositionAtCenter) {
2746  int h = (hint == PositionAtCenter ? viewportHeight / 2 : viewportHeight);
2747  int y = cellHeight;
2748  while (verticalIndex > 0) {
2749  int row = d->verticalHeader->logicalIndex(verticalIndex - 1);
2750  y += d->verticalHeader->sectionSize(row);
2751  if (y > h)
2752  break;
2753  --verticalIndex;
2754  }
2755  }
2756 
2757  if (hint == PositionAtBottom || hint == PositionAtCenter || hint == PositionAtTop) {
2758  int hiddenSections = 0;
2759  if (d->verticalHeader->sectionsHidden()) {
2760  for (int s = verticalIndex - 1; s >= 0; --s) {
2761  int row = d->verticalHeader->logicalIndex(s);
2762  if (d->verticalHeader->isSectionHidden(row))
2763  ++hiddenSections;
2764  }
2765  }
2766  verticalScrollBar()->setValue(verticalIndex - hiddenSections);
2767  }
2768 
2769  } else { // ScrollPerPixel
2770  if (hint == PositionAtTop) {
2771  verticalScrollBar()->setValue(verticalPosition);
2772  } else if (hint == PositionAtBottom) {
2773  verticalScrollBar()->setValue(verticalPosition - viewportHeight + cellHeight);
2774  } else if (hint == PositionAtCenter) {
2775  verticalScrollBar()->setValue(verticalPosition - ((viewportHeight - cellHeight) / 2));
2776  }
2777  }
2778 
2779  update(index);
2780 }
double d
Definition: qnumeric_p.h:62
bool isColumnHidden(int column) const
Returns true if the given column is hidden; otherwise returns false.
int y() const
ScrollMode horizontalScrollMode() const
int columnWidth(int column) const
Returns the width of the given column.
QScrollBar * verticalScrollBar() const
Returns the vertical scroll bar.
#define Q_D(Class)
Definition: qglobal.h:2482
void update()
Updates the widget unless updates are disabled or the widget is hidden.
Definition: qwidget.cpp:10883
ScrollMode verticalScrollMode() const
int row() const
Returns the row this model index refers to.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
int x() const
QScrollBar * horizontalScrollBar() const
Returns the horizontal scroll bar.
bool isRowHidden(int row) const
Returns true if the given row is hidden; otherwise returns false.
int verticalOffset() const
Returns the vertical offset of the items in the table view.
int horizontalOffset() const
Returns the horizontal offset of the items in the table view.
int column() const
Returns the column this model index refers to.

◆ selectColumn

void QTableView::selectColumn ( int  column)
slot

Selects the given column in the table view if the current SelectionMode and SelectionBehavior allows columns to be selected.

See also
selectRow()

Definition at line 2943 of file qtableview.cpp.

Referenced by QTableViewPrivate::_q_selectColumn(), setHorizontalHeader(), and setSortingEnabled().

2944 {
2945  Q_D(QTableView);
2946  d->selectColumn(column, true);
2947 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ selectedIndexes()

QModelIndexList QTableView::selectedIndexes ( ) const
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 2033 of file qtableview.cpp.

Referenced by QTableWidget::dropEvent().

2034 {
2035  Q_D(const QTableView);
2036  QModelIndexList viewSelected;
2037  QModelIndexList modelSelected;
2038  if (d->selectionModel)
2039  modelSelected = d->selectionModel->selectedIndexes();
2040  for (int i = 0; i < modelSelected.count(); ++i) {
2041  QModelIndex index = modelSelected.at(i);
2042  if (!isIndexHidden(index) && index.parent() == d->root)
2043  viewSelected.append(index);
2044  }
2045  return viewSelected;
2046 }
double d
Definition: qnumeric_p.h:62
bool isIndexHidden(const QModelIndex &index) const
Reimplemented Function
int count(const T &t) const
Returns the number of occurrences of value in the list.
Definition: qlist.h:891
#define Q_D(Class)
Definition: qglobal.h:2482
QModelIndex parent() const
Returns the parent of the model index, or QModelIndex() if it has no parent.
void append(const T &t)
Inserts value at the end of the list.
Definition: qlist.h:507
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
The QModelIndex class is used to locate data in a data model.
quint16 index

◆ selectionChanged()

void QTableView::selectionChanged ( const QItemSelection selected,
const QItemSelection deselected 
)
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 3293 of file qtableview.cpp.

3295 {
3296 #ifndef QT_NO_ACCESSIBILITY
3297  Q_D(QTableView);
3298  Q_UNUSED(d)
3299  if (QAccessible::isActive()) {
3300  // ### does not work properly for selection ranges.
3301  QModelIndex sel = selected.indexes().value(0);
3302  if (sel.isValid()) {
3303 #ifdef Q_WS_X11
3304  int entry = d->accessibleTable2Index(sel);
3306 #else
3307  int entry = visualIndex(sel);
3308  if (horizontalHeader())
3309  ++entry;
3311 #endif
3312  }
3313  QModelIndex desel = deselected.indexes().value(0);
3314  if (desel.isValid()) {
3315 #ifdef Q_WS_X11
3316  int entry = d->accessibleTable2Index(desel);
3318 #else
3319  int entry = visualIndex(sel);
3320  if (horizontalHeader())
3321  ++entry;
3323 #endif
3324  }
3325  }
3326 #endif
3327  QAbstractItemView::selectionChanged(selected, deselected);
3328 }
double d
Definition: qnumeric_p.h:62
static void updateAccessibility(QObject *, int who, Event reason)
Notifies accessibility clients about a change in object&#39;s accessibility information.
QHeaderView * horizontalHeader() const
Returns the table view&#39;s horizontal header.
#define Q_D(Class)
Definition: qglobal.h:2482
QWidget * viewport() const
Returns the viewport widget.
T value(int i) const
Returns the value at index position i in the list.
Definition: qlist.h:661
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool isValid() const
Returns true if this model index is valid; otherwise returns false.
static bool isActive()
Returns true if an accessibility implementation has been requested during the runtime of the applicat...
virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
This slot is called when the selection is changed.
int visualIndex(const QModelIndex &index) const
The QModelIndex class is used to locate data in a data model.
QModelIndexList indexes() const
Returns a list of model indexes that correspond to the selected items.
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729

◆ selectRow

void QTableView::selectRow ( int  row)
slot

Selects the given row in the table view if the current SelectionMode and SelectionBehavior allows rows to be selected.

See also
selectColumn()

Definition at line 2931 of file qtableview.cpp.

Referenced by QTableViewPrivate::_q_selectRow(), and setVerticalHeader().

2932 {
2933  Q_D(QTableView);
2934  d->selectRow(row, true);
2935 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setColumnHidden()

void QTableView::setColumnHidden ( int  column,
bool  hide 
)

If hide is true the given column will be hidden; otherwise it will be shown.

See also
setRowHidden()

Definition at line 2450 of file qtableview.cpp.

2451 {
2452  Q_D(QTableView);
2453  if (column < 0 || column >= d->horizontalHeader->count())
2454  return;
2455  d->horizontalHeader->setSectionHidden(column, hide);
2456 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void hide()
Hides the widget.
Definition: qwidget.h:501

◆ setColumnWidth()

void QTableView::setColumnWidth ( int  column,
int  width 
)

Sets the width of the given column to be width.

Since
4.1

Definition at line 2392 of file qtableview.cpp.

2393 {
2394  Q_D(const QTableView);
2395  d->horizontalHeader->resizeSection(column, width);
2396 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
int width() const
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setCornerButtonEnabled()

void QTableView::setCornerButtonEnabled ( bool  enable)

Definition at line 2608 of file qtableview.cpp.

2609 {
2610  Q_D(QTableView);
2611  d->cornerWidget->setEnabled(enable);
2612 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setGridStyle()

void QTableView::setGridStyle ( Qt::PenStyle  style)

Definition at line 2552 of file qtableview.cpp.

2553 {
2554  Q_D(QTableView);
2555  if (d->gridStyle != style) {
2556  d->gridStyle = style;
2557  d->viewport->update();
2558  }
2559 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
QStyle * style() const
Definition: qwidget.cpp:2742
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setHorizontalHeader()

void QTableView::setHorizontalHeader ( QHeaderView header)

Sets the widget to use for the horizontal header to header.

See also
horizontalHeader() setVerticalHeader()

Definition at line 1208 of file qtableview.cpp.

1209 {
1210  Q_D(QTableView);
1211 
1212  if (!header || header == d->horizontalHeader)
1213  return;
1214  if (d->horizontalHeader && d->horizontalHeader->parent() == this)
1215  delete d->horizontalHeader;
1216  d->horizontalHeader = header;
1217  d->horizontalHeader->setParent(this);
1218  if (!d->horizontalHeader->model()) {
1219  d->horizontalHeader->setModel(d->model);
1220  if (d->selectionModel)
1221  d->horizontalHeader->setSelectionModel(d->selectionModel);
1222  }
1223 
1224  connect(d->horizontalHeader,SIGNAL(sectionResized(int,int,int)),
1225  this, SLOT(columnResized(int,int,int)));
1226  connect(d->horizontalHeader, SIGNAL(sectionMoved(int,int,int)),
1227  this, SLOT(columnMoved(int,int,int)));
1228  connect(d->horizontalHeader, SIGNAL(sectionCountChanged(int,int)),
1229  this, SLOT(columnCountChanged(int,int)));
1230  connect(d->horizontalHeader, SIGNAL(sectionPressed(int)), this, SLOT(selectColumn(int)));
1231  connect(d->horizontalHeader, SIGNAL(sectionEntered(int)), this, SLOT(_q_selectColumn(int)));
1232  connect(d->horizontalHeader, SIGNAL(sectionHandleDoubleClicked(int)),
1233  this, SLOT(resizeColumnToContents(int)));
1234  connect(d->horizontalHeader, SIGNAL(geometriesChanged()), this, SLOT(updateGeometries()));
1235 
1236  //update the sorting enabled states on the new header
1237  setSortingEnabled(d->sortingEnabled);
1238 }
double d
Definition: qnumeric_p.h:62
#define SLOT(a)
Definition: qobjectdefs.h:226
void columnResized(int column, int oldWidth, int newWidth)
This slot is called to change the width of the given column.
#define Q_D(Class)
Definition: qglobal.h:2482
void resizeColumnToContents(int column)
Resizes the given column based on the size hints of the delegate used to render each item in the colu...
#define SIGNAL(a)
Definition: qobjectdefs.h:227
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
void columnMoved(int column, int oldIndex, int newIndex)
This slot is called to change the index of the given column in the table view.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void updateGeometries()
Reimplemented Function
void columnCountChanged(int oldCount, int newCount)
This slot is called whenever columns are added or deleted.
void setSortingEnabled(bool enable)
If enabled true enables sorting for the table and immediately trigger a call to sortByColumn() with t...
void selectColumn(int column)
Selects the given column in the table view if the current SelectionMode and SelectionBehavior allows ...

◆ setModel()

void QTableView::setModel ( QAbstractItemModel model)
virtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Reimplemented in QTableWidget.

Definition at line 1103 of file qtableview.cpp.

Referenced by QTableWidget::QTableWidget().

1104 {
1105  Q_D(QTableView);
1106  if (model == d->model)
1107  return;
1108  //let's disconnect from the old model
1109  if (d->model && d->model != QAbstractItemModelPrivate::staticEmptyModel()) {
1110  disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
1111  this, SLOT(_q_updateSpanInsertedRows(QModelIndex,int,int)));
1112  disconnect(d->model, SIGNAL(columnsInserted(QModelIndex,int,int)),
1113  this, SLOT(_q_updateSpanInsertedColumns(QModelIndex,int,int)));
1114  disconnect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
1115  this, SLOT(_q_updateSpanRemovedRows(QModelIndex,int,int)));
1116  disconnect(d->model, SIGNAL(columnsRemoved(QModelIndex,int,int)),
1117  this, SLOT(_q_updateSpanRemovedColumns(QModelIndex,int,int)));
1118  }
1119  if (model) { //and connect to the new one
1120  connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)),
1121  this, SLOT(_q_updateSpanInsertedRows(QModelIndex,int,int)));
1122  connect(model, SIGNAL(columnsInserted(QModelIndex,int,int)),
1123  this, SLOT(_q_updateSpanInsertedColumns(QModelIndex,int,int)));
1124  connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
1125  this, SLOT(_q_updateSpanRemovedRows(QModelIndex,int,int)));
1126  connect(model, SIGNAL(columnsRemoved(QModelIndex,int,int)),
1127  this, SLOT(_q_updateSpanRemovedColumns(QModelIndex,int,int)));
1128  }
1129  d->verticalHeader->setModel(model);
1130  d->horizontalHeader->setModel(model);
1132 }
double d
Definition: qnumeric_p.h:62
static QAbstractItemModel * staticEmptyModel()
#define SLOT(a)
Definition: qobjectdefs.h:226
#define Q_D(Class)
Definition: qglobal.h:2482
virtual void setModel(QAbstractItemModel *model)
Sets the model for the view to present.
#define SIGNAL(a)
Definition: qobjectdefs.h:227
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
Disconnects signal in object sender from method in object receiver.
Definition: qobject.cpp:2895
The QModelIndex class is used to locate data in a data model.
virtual void rowsInserted(const QModelIndex &parent, int start, int end)
This slot is called when rows are inserted.

◆ setRootIndex()

void QTableView::setRootIndex ( const QModelIndex index)
virtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 1137 of file qtableview.cpp.

1138 {
1139  Q_D(QTableView);
1140  if (index == d->root) {
1141  viewport()->update();
1142  return;
1143  }
1144  d->verticalHeader->setRootIndex(index);
1145  d->horizontalHeader->setRootIndex(index);
1147 }
double d
Definition: qnumeric_p.h:62
virtual void setRootIndex(const QModelIndex &index)
Sets the root item to the item at the given index.
#define Q_D(Class)
Definition: qglobal.h:2482
void update()
Updates the widget unless updates are disabled or the widget is hidden.
Definition: qwidget.cpp:10883
QWidget * viewport() const
Returns the viewport widget.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setRowHeight()

void QTableView::setRowHeight ( int  row,
int  height 
)

Sets the height of the given row to be height.

Since
4.1

Definition at line 2342 of file qtableview.cpp.

2343 {
2344  Q_D(const QTableView);
2345  d->verticalHeader->resizeSection(row, height);
2346 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
int height() const
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setRowHidden()

void QTableView::setRowHidden ( int  row,
bool  hide 
)

If hide is true row will be hidden, otherwise it will be shown.

See also
setColumnHidden()

Definition at line 2425 of file qtableview.cpp.

2426 {
2427  Q_D(QTableView);
2428  if (row < 0 || row >= d->verticalHeader->count())
2429  return;
2430  d->verticalHeader->setSectionHidden(row, hide);
2431 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void hide()
Hides the widget.
Definition: qwidget.h:501

◆ setSelection()

void QTableView::setSelection ( const QRect rect,
QItemSelectionModel::SelectionFlags  flags 
)
protectedvirtual

Applies the selection flags to the items in or touched by the rectangle, rect.

When implementing your own itemview setSelection should call selectionModel()->select(selection, flags) where selection is either an empty QModelIndex or a QItemSelection that contains all items that are contained in rect.

See also
selectionCommand(), selectedIndexes()

Implements QAbstractItemView.

Definition at line 1824 of file qtableview.cpp.

1825 {
1826  Q_D(QTableView);
1827  QModelIndex tl = indexAt(QPoint(isRightToLeft() ? qMax(rect.left(), rect.right())
1828  : qMin(rect.left(), rect.right()), qMin(rect.top(), rect.bottom())));
1829  QModelIndex br = indexAt(QPoint(isRightToLeft() ? qMin(rect.left(), rect.right()) :
1830  qMax(rect.left(), rect.right()), qMax(rect.top(), rect.bottom())));
1831  if (!d->selectionModel || !tl.isValid() || !br.isValid() || !d->isIndexEnabled(tl) || !d->isIndexEnabled(br))
1832  return;
1833 
1834  bool verticalMoved = verticalHeader()->sectionsMoved();
1835  bool horizontalMoved = horizontalHeader()->sectionsMoved();
1836 
1837  QItemSelection selection;
1838 
1839  if (d->hasSpans()) {
1840  bool expanded;
1841  int top = qMin(d->visualRow(tl.row()), d->visualRow(br.row()));
1842  int left = qMin(d->visualColumn(tl.column()), d->visualColumn(br.column()));
1843  int bottom = qMax(d->visualRow(tl.row()), d->visualRow(br.row()));
1844  int right = qMax(d->visualColumn(tl.column()), d->visualColumn(br.column()));
1845  do {
1846  expanded = false;
1847  foreach (QSpanCollection::Span *it, d->spans.spans) {
1848  const QSpanCollection::Span &span = *it;
1849  int t = d->visualRow(span.top());
1850  int l = d->visualColumn(span.left());
1851  int b = d->visualRow(d->rowSpanEndLogical(span.top(), span.height()));
1852  int r = d->visualColumn(d->columnSpanEndLogical(span.left(), span.width()));
1853  if ((t > bottom) || (l > right) || (top > b) || (left > r))
1854  continue; // no intersect
1855  if (t < top) {
1856  top = t;
1857  expanded = true;
1858  }
1859  if (l < left) {
1860  left = l;
1861  expanded = true;
1862  }
1863  if (b > bottom) {
1864  bottom = b;
1865  expanded = true;
1866  }
1867  if (r > right) {
1868  right = r;
1869  expanded = true;
1870  }
1871  if (expanded)
1872  break;
1873  }
1874  } while (expanded);
1875  for (int horizontal = left; horizontal <= right; ++horizontal) {
1876  int column = d->logicalColumn(horizontal);
1877  for (int vertical = top; vertical <= bottom; ++vertical) {
1878  int row = d->logicalRow(vertical);
1879  QModelIndex index = d->model->index(row, column, d->root);
1880  selection.append(QItemSelectionRange(index));
1881  }
1882  }
1883  } else if (verticalMoved && horizontalMoved) {
1884  int top = d->visualRow(tl.row());
1885  int left = d->visualColumn(tl.column());
1886  int bottom = d->visualRow(br.row());
1887  int right = d->visualColumn(br.column());
1888  for (int horizontal = left; horizontal <= right; ++horizontal) {
1889  int column = d->logicalColumn(horizontal);
1890  for (int vertical = top; vertical <= bottom; ++vertical) {
1891  int row = d->logicalRow(vertical);
1892  QModelIndex index = d->model->index(row, column, d->root);
1893  selection.append(QItemSelectionRange(index));
1894  }
1895  }
1896  } else if (horizontalMoved) {
1897  int left = d->visualColumn(tl.column());
1898  int right = d->visualColumn(br.column());
1899  for (int visual = left; visual <= right; ++visual) {
1900  int column = d->logicalColumn(visual);
1901  QModelIndex topLeft = d->model->index(tl.row(), column, d->root);
1902  QModelIndex bottomRight = d->model->index(br.row(), column, d->root);
1903  selection.append(QItemSelectionRange(topLeft, bottomRight));
1904  }
1905  } else if (verticalMoved) {
1906  int top = d->visualRow(tl.row());
1907  int bottom = d->visualRow(br.row());
1908  for (int visual = top; visual <= bottom; ++visual) {
1909  int row = d->logicalRow(visual);
1910  QModelIndex topLeft = d->model->index(row, tl.column(), d->root);
1911  QModelIndex bottomRight = d->model->index(row, br.column(), d->root);
1912  selection.append(QItemSelectionRange(topLeft, bottomRight));
1913  }
1914  } else { // nothing moved
1915  QItemSelectionRange range(tl, br);
1916  if (!range.isEmpty())
1917  selection.append(range);
1918  }
1919 
1920  d->selectionModel->select(selection, command);
1921 }
double d
Definition: qnumeric_p.h:62
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
#define it(className, varName)
QHeaderView * horizontalHeader() const
Returns the table view&#39;s horizontal header.
The QItemSelectionRange class manages information about a range of selected items in a model...
int left() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:240
int bottom() const
Returns the y-coordinate of the rectangle&#39;s bottom edge.
Definition: qrect.h:249
#define Q_D(Class)
Definition: qglobal.h:2482
bool sectionsMoved() const
Returns true if sections in the header has been moved; otherwise returns false;.
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
void append(const T &t)
Inserts value at the end of the list.
Definition: qlist.h:507
int row() const
Returns the row this model index refers to.
QHeaderView * verticalHeader() const
Returns the table view&#39;s vertical header.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool isValid() const
Returns true if this model index is valid; otherwise returns false.
int top() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:243
The QItemSelection class manages information about selected items in a model.
int right() const
Returns the x-coordinate of the rectangle&#39;s right edge.
Definition: qrect.h:246
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
The QModelIndex class is used to locate data in a data model.
QFactoryLoader * l
quint16 index
bool isRightToLeft() const
Definition: qwidget.h:428
Q_CORE_EXPORT QTextStream & left(QTextStream &s)
QModelIndex indexAt(const QPoint &p) const
Returns the index position of the model item corresponding to the table item at position pos in conte...
int column() const
Returns the column this model index refers to.

◆ setSelectionModel()

void QTableView::setSelectionModel ( QItemSelectionModel selectionModel)
virtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 1172 of file qtableview.cpp.

1173 {
1174  Q_D(QTableView);
1175  Q_ASSERT(selectionModel);
1176  d->verticalHeader->setSelectionModel(selectionModel);
1177  d->horizontalHeader->setSelectionModel(selectionModel);
1178  QAbstractItemView::setSelectionModel(selectionModel);
1179 }
double d
Definition: qnumeric_p.h:62
virtual void setSelectionModel(QItemSelectionModel *selectionModel)
Sets the current selection model to the given selectionModel.
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setShowGrid

void QTableView::setShowGrid ( bool  show)
slot

Definition at line 2528 of file qtableview.cpp.

Referenced by QCalendarView::QCalendarView().

2529 {
2530  Q_D(QTableView);
2531  if (d->showGrid != show) {
2532  d->showGrid = show;
2533  d->viewport->update();
2534  }
2535 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
void show()
Shows the widget and its child widgets.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ setSortingEnabled()

void QTableView::setSortingEnabled ( bool  enable)

If enabled true enables sorting for the table and immediately trigger a call to sortByColumn() with the current sort section and order.

Definition at line 2482 of file qtableview.cpp.

Referenced by setHorizontalHeader(), and QTableWidget::setSortingEnabled().

2483 {
2484  Q_D(QTableView);
2485  d->sortingEnabled = enable;
2487  if (enable) {
2488  disconnect(d->horizontalHeader, SIGNAL(sectionEntered(int)),
2489  this, SLOT(_q_selectColumn(int)));
2490  disconnect(horizontalHeader(), SIGNAL(sectionPressed(int)),
2491  this, SLOT(selectColumn(int)));
2492  connect(horizontalHeader(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)),
2493  this, SLOT(sortByColumn(int)), Qt::UniqueConnection);
2494  sortByColumn(horizontalHeader()->sortIndicatorSection(),
2495  horizontalHeader()->sortIndicatorOrder());
2496  } else {
2497  connect(d->horizontalHeader, SIGNAL(sectionEntered(int)),
2498  this, SLOT(_q_selectColumn(int)), Qt::UniqueConnection);
2499  connect(horizontalHeader(), SIGNAL(sectionPressed(int)),
2500  this, SLOT(selectColumn(int)), Qt::UniqueConnection);
2501  disconnect(horizontalHeader(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)),
2502  this, SLOT(sortByColumn(int)));
2503  }
2504 }
double d
Definition: qnumeric_p.h:62
void sortByColumn(int column, Qt::SortOrder order)
Sorts the model by the values in the given column in the given order.
#define SLOT(a)
Definition: qobjectdefs.h:226
QHeaderView * horizontalHeader() const
Returns the table view&#39;s horizontal header.
#define Q_D(Class)
Definition: qglobal.h:2482
#define SIGNAL(a)
Definition: qobjectdefs.h:227
SortOrder
Definition: qnamespace.h:189
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
Disconnects signal in object sender from method in object receiver.
Definition: qobject.cpp:2895
void setSortIndicatorShown(bool show)
void selectColumn(int column)
Selects the given column in the table view if the current SelectionMode and SelectionBehavior allows ...

◆ setSpan()

void QTableView::setSpan ( int  row,
int  column,
int  rowSpanCount,
int  columnSpanCount 
)

Sets the span of the table element at (row, column) to the number of rows and columns specified by (rowSpanCount, columnSpanCount).

Since
4.2
See also
rowSpan(), columnSpan()

Definition at line 3118 of file qtableview.cpp.

3119 {
3120  Q_D(QTableView);
3121  if (row < 0 || column < 0 || rowSpan < 0 || columnSpan < 0)
3122  return;
3123  d->setSpan(row, column, rowSpan, columnSpan);
3124  d->viewport->update();
3125 }
double d
Definition: qnumeric_p.h:62
int rowSpan(int row, int column) const
Returns the row span of the table element at (row, column).
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
int columnSpan(int row, int column) const
Returns the column span of the table element at (row, column).

◆ setVerticalHeader()

void QTableView::setVerticalHeader ( QHeaderView header)

Sets the widget to use for the vertical header to header.

See also
verticalHeader() setHorizontalHeader()

Definition at line 1245 of file qtableview.cpp.

1246 {
1247  Q_D(QTableView);
1248 
1249  if (!header || header == d->verticalHeader)
1250  return;
1251  if (d->verticalHeader && d->verticalHeader->parent() == this)
1252  delete d->verticalHeader;
1253  d->verticalHeader = header;
1254  d->verticalHeader->setParent(this);
1255  if (!d->verticalHeader->model()) {
1256  d->verticalHeader->setModel(d->model);
1257  if (d->selectionModel)
1258  d->verticalHeader->setSelectionModel(d->selectionModel);
1259  }
1260 
1261  connect(d->verticalHeader, SIGNAL(sectionResized(int,int,int)),
1262  this, SLOT(rowResized(int,int,int)));
1263  connect(d->verticalHeader, SIGNAL(sectionMoved(int,int,int)),
1264  this, SLOT(rowMoved(int,int,int)));
1265  connect(d->verticalHeader, SIGNAL(sectionCountChanged(int,int)),
1266  this, SLOT(rowCountChanged(int,int)));
1267  connect(d->verticalHeader, SIGNAL(sectionPressed(int)), this, SLOT(selectRow(int)));
1268  connect(d->verticalHeader, SIGNAL(sectionEntered(int)), this, SLOT(_q_selectRow(int)));
1269  connect(d->verticalHeader, SIGNAL(sectionHandleDoubleClicked(int)),
1270  this, SLOT(resizeRowToContents(int)));
1271  connect(d->verticalHeader, SIGNAL(geometriesChanged()), this, SLOT(updateGeometries()));
1272 }
double d
Definition: qnumeric_p.h:62
#define SLOT(a)
Definition: qobjectdefs.h:226
void rowResized(int row, int oldHeight, int newHeight)
This slot is called to change the height of the given row.
#define Q_D(Class)
Definition: qglobal.h:2482
#define SIGNAL(a)
Definition: qobjectdefs.h:227
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
void selectRow(int row)
Selects the given row in the table view if the current SelectionMode and SelectionBehavior allows row...
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void resizeRowToContents(int row)
Resizes the given row based on the size hints of the delegate used to render each item in the row...
void rowMoved(int row, int oldIndex, int newIndex)
This slot is called to change the index of the given row in the table view.
void updateGeometries()
Reimplemented Function
void rowCountChanged(int oldCount, int newCount)
This slot is called whenever rows are added or deleted.

◆ setWordWrap()

void QTableView::setWordWrap ( bool  on)

Definition at line 2578 of file qtableview.cpp.

2579 {
2580  Q_D(QTableView);
2581  if (d->wrapItemText == on)
2582  return;
2583  d->wrapItemText = on;
2584  QMetaObject::invokeMethod(d->verticalHeader, "resizeSections");
2585  QMetaObject::invokeMethod(d->horizontalHeader, "resizeSections");
2586 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0=QGenericArgument(0), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument())
Invokes the member (a signal or a slot name) on the object obj.

◆ showColumn

void QTableView::showColumn ( int  column)
slot

Show the given column.

See also
hideColumn() showRow()

Definition at line 2987 of file qtableview.cpp.

2988 {
2989  Q_D(QTableView);
2990  d->horizontalHeader->showSection(column);
2991 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ showGrid()

bool QTableView::showGrid ( ) const

◆ showRow

void QTableView::showRow ( int  row)
slot

Show the given row.

See also
hideRow() showColumn()

Definition at line 2976 of file qtableview.cpp.

2977 {
2978  Q_D(QTableView);
2979  d->verticalHeader->showSection(row);
2980 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ sizeHintForColumn()

int QTableView::sizeHintForColumn ( int  column) const
protectedvirtual

Returns the size hint for the given column's width or -1 if there is no model.

If you need to set the width of a given column to a fixed value, call QHeaderView::resizeSection() on the table's horizontal header.

If you reimplement this function in a subclass, note that the value you return will be used when resizeColumnToContents() or QHeaderView::resizeSections() is called. If a larger column width is required by either the horizontal header or the item delegate, the larger width will be used instead.

See also
QWidget::sizeHint, horizontalHeader()

Reimplemented from QAbstractItemView.

Definition at line 2271 of file qtableview.cpp.

Referenced by resizeColumnToContents().

2272 {
2273  Q_D(const QTableView);
2274 
2275  if (!model())
2276  return -1;
2277 
2278  ensurePolished();
2279 
2280  int top = qMax(0, d->verticalHeader->visualIndexAt(0));
2281  int bottom = d->verticalHeader->visualIndexAt(d->viewport->height());
2282  if (!isVisible() || bottom == -1) // the table don't have enough rows to fill the viewport
2283  bottom = d->model->rowCount(d->root) - 1;
2284 
2285  QStyleOptionViewItemV4 option = d->viewOptionsV4();
2286 
2287  int hint = 0;
2289  for (int row = top; row <= bottom; ++row) {
2290  int logicalRow = d->verticalHeader->logicalIndex(row);
2291  if (d->verticalHeader->isSectionHidden(logicalRow))
2292  continue;
2293  index = d->model->index(logicalRow, column, d->root);
2294 
2295  QWidget *editor = d->editorForIndex(index).widget.data();
2296  if (editor && d->persistent.contains(editor)) {
2297  hint = qMax(hint, editor->sizeHint().width());
2298  int min = editor->minimumSize().width();
2299  int max = editor->maximumSize().width();
2300  hint = qBound(min, hint, max);
2301  }
2302 
2303  hint = qMax(hint, itemDelegate(index)->sizeHint(option, index).width());
2304  }
2305 
2306  return d->showGrid ? hint + 1 : hint;
2307 }
double d
Definition: qnumeric_p.h:62
QSize maximumSize
the widget&#39;s maximum size in pixels
Definition: qwidget.h:173
QSize minimumSize
the widget&#39;s minimum size
Definition: qwidget.h:172
void ensurePolished() const
Ensures that the widget has been polished by QStyle (i.e., has a proper font and palette).
Definition: qwidget.cpp:10024
bool isVisible() const
Definition: qwidget.h:1005
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
The QStyleOptionViewItemV4 class is used to describe the parameters necessary for drawing a frame in ...
Definition: qstyleoption.h:609
QAbstractItemDelegate * itemDelegate() const
Returns the item delegate used by this view and model.
#define Q_D(Class)
Definition: qglobal.h:2482
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
int width() const
Returns the width.
Definition: qsize.h:126
int width() const
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
Q_DECL_CONSTEXPR const T & qBound(const T &min, const T &val, const T &max)
Definition: qglobal.h:1219
The QModelIndex class is used to locate data in a data model.
quint16 index
QSize sizeHint
the recommended size for the widget
Definition: qwidget.h:195
QAbstractItemModel * model() const
Returns the model that this view is presenting.
QSize sizeHint() const
Reimplemented Function

◆ sizeHintForRow()

int QTableView::sizeHintForRow ( int  row) const
protectedvirtual

Returns the size hint for the given row's height or -1 if there is no model.

If you need to set the height of a given row to a fixed value, call QHeaderView::resizeSection() on the table's vertical header.

If you reimplement this function in a subclass, note that the value you return is only used when resizeRowToContents() is called. In that case, if a larger row height is required by either the vertical header or the item delegate, that width will be used instead.

See also
QWidget::sizeHint, verticalHeader()

Reimplemented from QAbstractItemView.

Definition at line 2212 of file qtableview.cpp.

Referenced by resizeRowToContents().

2213 {
2214  Q_D(const QTableView);
2215 
2216  if (!model())
2217  return -1;
2218 
2219  ensurePolished();
2220 
2221  int left = qMax(0, d->horizontalHeader->visualIndexAt(0));
2222  int right = d->horizontalHeader->visualIndexAt(d->viewport->width());
2223  if (right == -1) // the table don't have enough columns to fill the viewport
2224  right = d->model->columnCount(d->root) - 1;
2225 
2226  QStyleOptionViewItemV4 option = d->viewOptionsV4();
2227 
2228  int hint = 0;
2230  for (int column = left; column <= right; ++column) {
2231  int logicalColumn = d->horizontalHeader->logicalIndex(column);
2232  if (d->horizontalHeader->isSectionHidden(logicalColumn))
2233  continue;
2234  index = d->model->index(row, logicalColumn, d->root);
2235  if (d->wrapItemText) {// for wrapping boundaries
2236  option.rect.setY(rowViewportPosition(index.row()));
2237  option.rect.setHeight(rowHeight(index.row()));
2238  option.rect.setX(columnViewportPosition(index.column()));
2239  option.rect.setWidth(columnWidth(index.column()));
2240  }
2241 
2242  QWidget *editor = d->editorForIndex(index).widget.data();
2243  if (editor && d->persistent.contains(editor)) {
2244  hint = qMax(hint, editor->sizeHint().height());
2245  int min = editor->minimumSize().height();
2246  int max = editor->maximumSize().height();
2247  hint = qBound(min, hint, max);
2248  }
2249 
2250  hint = qMax(hint, itemDelegate(index)->sizeHint(option, index).height());
2251  }
2252 
2253  return d->showGrid ? hint + 1 : hint;
2254 }
double d
Definition: qnumeric_p.h:62
QSize maximumSize
the widget&#39;s maximum size in pixels
Definition: qwidget.h:173
QSize minimumSize
the widget&#39;s minimum size
Definition: qwidget.h:172
void setHeight(int h)
Sets the height of the rectangle to the given height.
Definition: qrect.h:445
int columnWidth(int column) const
Returns the width of the given column.
void ensurePolished() const
Ensures that the widget has been polished by QStyle (i.e., has a proper font and palette).
Definition: qwidget.cpp:10024
int columnViewportPosition(int column) const
Returns the x-coordinate in contents coordinates of the given column.
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
The QStyleOptionViewItemV4 class is used to describe the parameters necessary for drawing a frame in ...
Definition: qstyleoption.h:609
int rowViewportPosition(int row) const
Returns the y-coordinate in contents coordinates of the given row.
void setY(int y)
Sets the top edge of the rectangle to the given y coordinate.
Definition: qrect.h:285
QAbstractItemDelegate * itemDelegate() const
Returns the item delegate used by this view and model.
#define Q_D(Class)
Definition: qglobal.h:2482
int height() const
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
int rowHeight(int row) const
Returns the height of the given row.
int row() const
Returns the row this model index refers to.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
void setX(int x)
Sets the left edge of the rectangle to the given x coordinate.
Definition: qrect.h:282
Q_DECL_CONSTEXPR const T & qBound(const T &min, const T &val, const T &max)
Definition: qglobal.h:1219
The QModelIndex class is used to locate data in a data model.
void setWidth(int w)
Sets the width of the rectangle to the given width.
Definition: qrect.h:442
int height() const
Returns the height.
Definition: qsize.h:129
quint16 index
QSize sizeHint
the recommended size for the widget
Definition: qwidget.h:195
QAbstractItemModel * model() const
Returns the model that this view is presenting.
Q_CORE_EXPORT QTextStream & left(QTextStream &s)
QSize sizeHint() const
Reimplemented Function
QRect rect
the area that should be used for various calculations and painting
Definition: qstyleoption.h:90
int column() const
Returns the column this model index refers to.

◆ sortByColumn() [1/2]

void QTableView::sortByColumn ( int  column,
Qt::SortOrder  order 
)

Sorts the model by the values in the given column in the given order.

Since
4.2
See also
sortingEnabled

Definition at line 3067 of file qtableview.cpp.

Referenced by setSortingEnabled().

3068 {
3069  Q_D(QTableView);
3070  d->horizontalHeader->setSortIndicator(column, order);
3071  sortByColumn(column);
3072 }
double d
Definition: qnumeric_p.h:62
void sortByColumn(int column, Qt::SortOrder order)
Sorts the model by the values in the given column in the given order.
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ sortByColumn [2/2]

void QTableView::sortByColumn ( int  column)
slot

Sorts the model by the values in the given column.

Definition at line 3049 of file qtableview.cpp.

3050 {
3051  Q_D(QTableView);
3052  if (column == -1)
3053  return;
3054  d->model->sort(column, d->horizontalHeader->sortIndicatorOrder());
3055 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ timerEvent()

void QTableView::timerEvent ( QTimerEvent event)
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 2815 of file qtableview.cpp.

2816 {
2817  Q_D(QTableView);
2818 
2819  if (event->timerId() == d->columnResizeTimerID) {
2820  updateGeometries();
2821  killTimer(d->columnResizeTimerID);
2822  d->columnResizeTimerID = 0;
2823 
2824  QRect rect;
2825  int viewportHeight = d->viewport->height();
2826  int viewportWidth = d->viewport->width();
2827  if (d->hasSpans()) {
2828  rect = QRect(0, 0, viewportWidth, viewportHeight);
2829  } else {
2830  for (int i = d->columnsToUpdate.size()-1; i >= 0; --i) {
2831  int column = d->columnsToUpdate.at(i);
2832  int x = columnViewportPosition(column);
2833  if (isRightToLeft())
2834  rect |= QRect(0, 0, x + columnWidth(column), viewportHeight);
2835  else
2836  rect |= QRect(x, 0, viewportWidth - x, viewportHeight);
2837  }
2838  }
2839 
2840  d->viewport->update(rect.normalized());
2841  d->columnsToUpdate.clear();
2842  }
2843 
2844  if (event->timerId() == d->rowResizeTimerID) {
2845  updateGeometries();
2846  killTimer(d->rowResizeTimerID);
2847  d->rowResizeTimerID = 0;
2848 
2849  int viewportHeight = d->viewport->height();
2850  int viewportWidth = d->viewport->width();
2851  int top;
2852  if (d->hasSpans()) {
2853  top = 0;
2854  } else {
2855  top = viewportHeight;
2856  for (int i = d->rowsToUpdate.size()-1; i >= 0; --i) {
2857  int y = rowViewportPosition(d->rowsToUpdate.at(i));
2858  top = qMin(top, y);
2859  }
2860  }
2861 
2862  d->viewport->update(QRect(0, top, viewportWidth, viewportHeight - top));
2863  d->rowsToUpdate.clear();
2864  }
2865 
2867 }
double d
Definition: qnumeric_p.h:62
int y() const
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
int columnWidth(int column) const
Returns the width of the given column.
int columnViewportPosition(int column) const
Returns the x-coordinate in contents coordinates of the given column.
QRect normalized() const
Returns a normalized rectangle; i.e., a rectangle that has a non-negative width and height...
Definition: qrect.cpp:322
void timerEvent(QTimerEvent *event)
This function is called with the given event when a timer event is sent to the widget.
int rowViewportPosition(int row) const
Returns the y-coordinate in contents coordinates of the given row.
#define Q_D(Class)
Definition: qglobal.h:2482
int timerId() const
Returns the unique timer identifier, which is the same identifier as returned from QObject::startTime...
Definition: qcoreevent.h:346
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
QRect rect() const
int x() const
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
void updateGeometries()
Reimplemented Function
bool isRightToLeft() const
Definition: qwidget.h:428
void killTimer(int id)
Kills the timer with timer identifier, id.
Definition: qobject.cpp:1650

◆ updateGeometries()

void QTableView::updateGeometries ( )
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 2083 of file qtableview.cpp.

Referenced by columnCountChanged(), columnMoved(), rowMoved(), setHorizontalHeader(), setVerticalHeader(), and timerEvent().

2084 {
2085  Q_D(QTableView);
2086  if (d->geometryRecursionBlock)
2087  return;
2088  d->geometryRecursionBlock = true;
2089 
2090  int width = 0;
2091  if (!d->verticalHeader->isHidden()) {
2092  width = qMax(d->verticalHeader->minimumWidth(), d->verticalHeader->sizeHint().width());
2093  width = qMin(width, d->verticalHeader->maximumWidth());
2094  }
2095  int height = 0;
2096  if (!d->horizontalHeader->isHidden()) {
2097  height = qMax(d->horizontalHeader->minimumHeight(), d->horizontalHeader->sizeHint().height());
2098  height = qMin(height, d->horizontalHeader->maximumHeight());
2099  }
2100  bool reverse = isRightToLeft();
2101  if (reverse)
2102  setViewportMargins(0, height, width, 0);
2103  else
2104  setViewportMargins(width, height, 0, 0);
2105 
2106  // update headers
2107 
2108  QRect vg = d->viewport->geometry();
2109 
2110  int verticalLeft = reverse ? vg.right() + 1 : (vg.left() - width);
2111  d->verticalHeader->setGeometry(verticalLeft, vg.top(), width, vg.height());
2112  if (d->verticalHeader->isHidden())
2113  QMetaObject::invokeMethod(d->verticalHeader, "updateGeometries");
2114 
2115  int horizontalTop = vg.top() - height;
2116  d->horizontalHeader->setGeometry(vg.left(), horizontalTop, vg.width(), height);
2117  if (d->horizontalHeader->isHidden())
2118  QMetaObject::invokeMethod(d->horizontalHeader, "updateGeometries");
2119 
2120  // update cornerWidget
2121  if (d->horizontalHeader->isHidden() || d->verticalHeader->isHidden()) {
2122  d->cornerWidget->setHidden(true);
2123  } else {
2124  d->cornerWidget->setHidden(false);
2125  d->cornerWidget->setGeometry(verticalLeft, horizontalTop, width, height);
2126  }
2127 
2128  // update scroll bars
2129 
2130  // ### move this block into the if
2131  QSize vsize = d->viewport->size();
2132  QSize max = maximumViewportSize();
2133  uint horizontalLength = d->horizontalHeader->length();
2134  uint verticalLength = d->verticalHeader->length();
2135  if ((uint)max.width() >= horizontalLength && (uint)max.height() >= verticalLength)
2136  vsize = max;
2137 
2138  // horizontal scroll bar
2139  const int columnCount = d->horizontalHeader->count();
2140  const int viewportWidth = vsize.width();
2141  int columnsInViewport = 0;
2142  for (int width = 0, column = columnCount - 1; column >= 0; --column) {
2143  int logical = d->horizontalHeader->logicalIndex(column);
2144  if (!d->horizontalHeader->isSectionHidden(logical)) {
2145  width += d->horizontalHeader->sectionSize(logical);
2146  if (width > viewportWidth)
2147  break;
2148  ++columnsInViewport;
2149  }
2150  }
2151  columnsInViewport = qMax(columnsInViewport, 1); //there must be always at least 1 column
2152 
2154  const int visibleColumns = columnCount - d->horizontalHeader->hiddenSectionCount();
2155  horizontalScrollBar()->setRange(0, visibleColumns - columnsInViewport);
2156  horizontalScrollBar()->setPageStep(columnsInViewport);
2157  if (columnsInViewport >= visibleColumns)
2158  d->horizontalHeader->setOffset(0);
2160  } else { // ScrollPerPixel
2162  horizontalScrollBar()->setRange(0, horizontalLength - vsize.width());
2163  horizontalScrollBar()->setSingleStep(qMax(vsize.width() / (columnsInViewport + 1), 2));
2164  }
2165 
2166  // vertical scroll bar
2167  const int rowCount = d->verticalHeader->count();
2168  const int viewportHeight = vsize.height();
2169  int rowsInViewport = 0;
2170  for (int height = 0, row = rowCount - 1; row >= 0; --row) {
2171  int logical = d->verticalHeader->logicalIndex(row);
2172  if (!d->verticalHeader->isSectionHidden(logical)) {
2173  height += d->verticalHeader->sectionSize(logical);
2174  if (height > viewportHeight)
2175  break;
2176  ++rowsInViewport;
2177  }
2178  }
2179  rowsInViewport = qMax(rowsInViewport, 1); //there must be always at least 1 row
2180 
2182  const int visibleRows = rowCount - d->verticalHeader->hiddenSectionCount();
2183  verticalScrollBar()->setRange(0, visibleRows - rowsInViewport);
2184  verticalScrollBar()->setPageStep(rowsInViewport);
2185  if (rowsInViewport >= visibleRows)
2186  d->verticalHeader->setOffset(0);
2188  } else { // ScrollPerPixel
2189  verticalScrollBar()->setPageStep(vsize.height());
2190  verticalScrollBar()->setRange(0, verticalLength - vsize.height());
2191  verticalScrollBar()->setSingleStep(qMax(vsize.height() / (rowsInViewport + 1), 2));
2192  }
2193 
2194  d->geometryRecursionBlock = false;
2196 }
double d
Definition: qnumeric_p.h:62
void setViewportMargins(int left, int top, int right, int bottom)
Sets the margins around the scrolling area to left, top, right and bottom.
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
ScrollMode horizontalScrollMode() const
static C reverse(const C &l)
int left() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:240
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
QScrollBar * verticalScrollBar() const
Returns the vertical scroll bar.
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
#define Q_D(Class)
Definition: qglobal.h:2482
int height() const
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
void setRange(int min, int max)
Sets the slider&#39;s minimum to min and its maximum to max.
int width() const
Returns the width.
Definition: qsize.h:126
ScrollMode verticalScrollMode() const
int width() const
unsigned int uint
Definition: qglobal.h:996
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
QSize maximumViewportSize() const
Returns the size of the viewport as if the scroll bars had no valid scrolling range.
int top() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:243
int right() const
Returns the x-coordinate of the rectangle&#39;s right edge.
Definition: qrect.h:246
QScrollBar * horizontalScrollBar() const
Returns the horizontal scroll bar.
int height() const
Returns the height.
Definition: qsize.h:129
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
virtual void updateGeometries()
Updates the geometry of the child widgets of the view.
static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0=QGenericArgument(0), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument())
Invokes the member (a signal or a slot name) on the object obj.
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
bool isRightToLeft() const
Definition: qwidget.h:428

◆ verticalHeader()

QHeaderView * QTableView::verticalHeader ( ) const

Returns the table view's vertical header.

See also
setVerticalHeader(), horizontalHeader(), QAbstractItemModel::headerData()

Definition at line 1197 of file qtableview.cpp.

Referenced by paintEvent(), QCalendarView::QCalendarView(), QTableViewPrivate::selectColumn(), QTableViewPrivate::selectRow(), setSelection(), visualRegionForSelection(), and QTableWidget::visualRow().

1198 {
1199  Q_D(const QTableView);
1200  return d->verticalHeader;
1201 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ verticalOffset()

int QTableView::verticalOffset ( ) const
protectedvirtual

Returns the vertical offset of the items in the table view.

Note that the table view uses the vertical header section positions to determine the positions of rows in the view.

See also
horizontalOffset()

Implements QAbstractItemView.

Definition at line 1560 of file qtableview.cpp.

Referenced by paintEvent(), and scrollTo().

1561 {
1562  Q_D(const QTableView);
1563  return d->verticalHeader->offset();
1564 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58

◆ verticalScrollbarAction()

void QTableView::verticalScrollbarAction ( int  action)
protectedvirtual
Warning
This function is not part of the public interface.

Reimplemented from QAbstractItemView.

Definition at line 3077 of file qtableview.cpp.

3078 {
3080 }
virtual void verticalScrollbarAction(int action)

◆ viewOptions()

QStyleOptionViewItem QTableView::viewOptions ( ) const
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractItemView.

Definition at line 1333 of file qtableview.cpp.

1334 {
1336  option.showDecorationSelected = true;
1337  return option;
1338 }
virtual QStyleOptionViewItem viewOptions() const
Returns a QStyleOptionViewItem structure populated with the view&#39;s palette, font, state...
bool showDecorationSelected
whether the decoration should be highlighted on selected items
Definition: qstyleoption.h:553
The QStyleOptionViewItem class is used to describe the parameters used to draw an item in a view widg...
Definition: qstyleoption.h:539

◆ visualIndex()

int QTableView::visualIndex ( const QModelIndex index) const
private

Definition at line 3330 of file qtableview.cpp.

Referenced by currentChanged(), paintEvent(), and selectionChanged().

3331 {
3332  return index.row();
3333 }
int row() const
Returns the row this model index refers to.

◆ visualRect()

QRect QTableView::visualRect ( const QModelIndex index) const
virtual

Returns the rectangle on the viewport occupied by the given index.

Warning
This function is not part of the public interface.

If the index is hidden in the view it will return a null QRect.

Implements QAbstractItemView.

Definition at line 2630 of file qtableview.cpp.

Referenced by moveCursor(), QTableWidget::visualItemRect(), and visualRegionForSelection().

2631 {
2632  Q_D(const QTableView);
2633  if (!d->isIndexValid(index) || index.parent() != d->root
2634  || (!d->hasSpans() && isIndexHidden(index)))
2635  return QRect();
2636 
2637  d->executePostedLayout();
2638 
2639  if (d->hasSpans()) {
2640  QSpanCollection::Span span = d->span(index.row(), index.column());
2641  return d->visualSpanRect(span);
2642  }
2643 
2644  int rowp = rowViewportPosition(index.row());
2645  int rowh = rowHeight(index.row());
2646  int colp = columnViewportPosition(index.column());
2647  int colw = columnWidth(index.column());
2648 
2649  const int i = showGrid() ? 1 : 0;
2650  return QRect(colp, rowp, colw - i, rowh - i);
2651 }
double d
Definition: qnumeric_p.h:62
bool isIndexHidden(const QModelIndex &index) const
Reimplemented Function
int columnWidth(int column) const
Returns the width of the given column.
int columnViewportPosition(int column) const
Returns the x-coordinate in contents coordinates of the given column.
int rowViewportPosition(int row) const
Returns the y-coordinate in contents coordinates of the given row.
#define Q_D(Class)
Definition: qglobal.h:2482
QModelIndex parent() const
Returns the parent of the model index, or QModelIndex() if it has no parent.
bool showGrid() const
int rowHeight(int row) const
Returns the height of the given row.
int row() const
Returns the row this model index refers to.
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
int column() const
Returns the column this model index refers to.

◆ visualRegionForSelection()

QRegion QTableView::visualRegionForSelection ( const QItemSelection selection) const
protectedvirtual

Returns the rectangle from the viewport of the items in the given selection.

Warning
This function is not part of the public interface.

Since 4.7, the returned region only contains rectangles intersecting (or included in) the viewport.

Implements QAbstractItemView.

Definition at line 1935 of file qtableview.cpp.

1936 {
1937  Q_D(const QTableView);
1938 
1939  if (selection.isEmpty())
1940  return QRegion();
1941 
1942  QRegion selectionRegion;
1943  const QRect &viewportRect = d->viewport->rect();
1944  bool verticalMoved = verticalHeader()->sectionsMoved();
1945  bool horizontalMoved = horizontalHeader()->sectionsMoved();
1946 
1947  if ((verticalMoved && horizontalMoved) || (d->hasSpans() && (verticalMoved || horizontalMoved))) {
1948  for (int i = 0; i < selection.count(); ++i) {
1949  QItemSelectionRange range = selection.at(i);
1950  if (range.parent() != d->root || !range.isValid())
1951  continue;
1952  for (int r = range.top(); r <= range.bottom(); ++r)
1953  for (int c = range.left(); c <= range.right(); ++c) {
1954  const QRect &rangeRect = visualRect(d->model->index(r, c, d->root));
1955  if (viewportRect.intersects(rangeRect))
1956  selectionRegion += rangeRect;
1957  }
1958  }
1959  } else if (horizontalMoved) {
1960  for (int i = 0; i < selection.count(); ++i) {
1961  QItemSelectionRange range = selection.at(i);
1962  if (range.parent() != d->root || !range.isValid())
1963  continue;
1964  int top = rowViewportPosition(range.top());
1965  int bottom = rowViewportPosition(range.bottom()) + rowHeight(range.bottom());
1966  if (top > bottom)
1967  qSwap<int>(top, bottom);
1968  int height = bottom - top;
1969  for (int c = range.left(); c <= range.right(); ++c) {
1970  const QRect rangeRect(columnViewportPosition(c), top, columnWidth(c), height);
1971  if (viewportRect.intersects(rangeRect))
1972  selectionRegion += rangeRect;
1973  }
1974  }
1975  } else if (verticalMoved) {
1976  for (int i = 0; i < selection.count(); ++i) {
1977  QItemSelectionRange range = selection.at(i);
1978  if (range.parent() != d->root || !range.isValid())
1979  continue;
1980  int left = columnViewportPosition(range.left());
1981  int right = columnViewportPosition(range.right()) + columnWidth(range.right());
1982  if (left > right)
1983  qSwap<int>(left, right);
1984  int width = right - left;
1985  for (int r = range.top(); r <= range.bottom(); ++r) {
1986  const QRect rangeRect(left, rowViewportPosition(r), width, rowHeight(r));
1987  if (viewportRect.intersects(rangeRect))
1988  selectionRegion += rangeRect;
1989  }
1990  }
1991  } else { // nothing moved
1992  const int gridAdjust = showGrid() ? 1 : 0;
1993  for (int i = 0; i < selection.count(); ++i) {
1994  QItemSelectionRange range = selection.at(i);
1995  if (range.parent() != d->root || !range.isValid())
1996  continue;
1997  d->trimHiddenSelections(&range);
1998 
1999  const int rtop = rowViewportPosition(range.top());
2000  const int rbottom = rowViewportPosition(range.bottom()) + rowHeight(range.bottom());
2001  int rleft;
2002  int rright;
2003  if (isLeftToRight()) {
2004  rleft = columnViewportPosition(range.left());
2005  rright = columnViewportPosition(range.right()) + columnWidth(range.right());
2006  } else {
2007  rleft = columnViewportPosition(range.right());
2008  rright = columnViewportPosition(range.left()) + columnWidth(range.left());
2009  }
2010  const QRect rangeRect(QPoint(rleft, rtop), QPoint(rright - 1 - gridAdjust, rbottom - 1 - gridAdjust));
2011  if (viewportRect.intersects(rangeRect))
2012  selectionRegion += rangeRect;
2013  if (d->hasSpans()) {
2014  foreach (QSpanCollection::Span *s,
2015  d->spans.spansInRect(range.left(), range.top(), range.width(), range.height())) {
2016  if (range.contains(s->top(), s->left(), range.parent())) {
2017  const QRect &visualSpanRect = d->visualSpanRect(*s);
2018  if (viewportRect.intersects(visualSpanRect))
2019  selectionRegion += visualSpanRect;
2020  }
2021  }
2022  }
2023  }
2024  }
2025 
2026  return selectionRegion;
2027 }
double d
Definition: qnumeric_p.h:62
int left() const
Returns the column index corresponding to the leftmost selected column in the selection range...
unsigned char c[8]
Definition: qnumeric_p.h:62
int columnWidth(int column) const
Returns the width of the given column.
int columnViewportPosition(int column) const
Returns the x-coordinate in contents coordinates of the given column.
bool isValid() const
Returns true if the selection range is valid; otherwise returns false.
QRect visualRect(const QModelIndex &index) const
Returns the rectangle on the viewport occupied by the given index.
QHeaderView * horizontalHeader() const
Returns the table view&#39;s horizontal header.
The QItemSelectionRange class manages information about a range of selected items in a model...
int rowViewportPosition(int row) const
Returns the y-coordinate in contents coordinates of the given row.
int bottom() const
Returns the row index corresponding to the lowermost selected row in the selection range...
int count(const T &t) const
Returns the number of occurrences of value in the list.
Definition: qlist.h:891
int right() const
Returns the column index corresponding to the rightmost selected column in the selection range...
#define Q_D(Class)
Definition: qglobal.h:2482
int height() const
bool sectionsMoved() const
Returns true if sections in the header has been moved; otherwise returns false;.
QModelIndex parent() const
Returns the parent model item index of the items in the selection range.
Q_CORE_EXPORT QTextStream & right(QTextStream &s)
bool showGrid() const
bool isEmpty() const
Returns true if the list contains no items; otherwise returns false.
Definition: qlist.h:152
int width() const
Returns the number of selected columns in the selection range.
int rowHeight(int row) const
Returns the height of the given row.
int width() const
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
QHeaderView * verticalHeader() const
Returns the table view&#39;s vertical header.
The QRegion class specifies a clip region for a painter.
Definition: qregion.h:68
The QTableView class provides a default model/view implementation of a table view.
Definition: qtableview.h:58
bool contains(const QModelIndex &index) const
Returns true if the model item specified by the index lies within the range of selected items; otherw...
int height() const
Returns the number of selected rows in the selection range.
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
bool isLeftToRight() const
Definition: qwidget.h:429
int top() const
Returns the row index corresponding to the uppermost selected row in the selection range...
bool intersects(const QRect &r) const
Returns true if this rectangle intersects with the given rectangle (i.
Definition: qrect.cpp:1429
Q_CORE_EXPORT QTextStream & left(QTextStream &s)

◆ wordWrap()

bool QTableView::wordWrap ( ) const

Referenced by setWordWrap().

Friends and Related Functions

◆ QAccessibleItemView

friend class QAccessibleItemView
friend

Definition at line 179 of file qtableview.h.

Properties

◆ cornerButtonEnabled

QTableView::cornerButtonEnabled
private

whether the button in the top-left corner is enabled

Since
4.3

If this property is true then button in the top-left corner of the table view is enabled. Clicking on this button will select all the cells in the table view.

This property is true by default.

Definition at line 65 of file qtableview.h.

◆ gridStyle

Qt::PenStyle QTableView::gridStyle
private

the pen style used to draw the grid.

This property holds the style used when drawing the grid (see showGrid).

Definition at line 62 of file qtableview.h.

◆ showGrid

bool QTableView::showGrid
private

whether the grid is shown

If this property is true a grid is drawn for the table; if the property is false, no grid is drawn. The default value is true.

Definition at line 61 of file qtableview.h.

Referenced by QComboBoxPrivateContainer::spacing().

◆ sortingEnabled

QTableView::sortingEnabled
private

whether sorting is enabled

Since
4.2

If this property is true, sorting is enabled for the table. If this property is false, sorting is not enabled. The default value is false.

Note
. Setting the property to true with setSortingEnabled() immediately triggers a call to sortByColumn() with the current sort section and order.
See also
sortByColumn()

Definition at line 63 of file qtableview.h.

◆ wordWrap

bool QTableView::wordWrap
private

the item text word-wrapping policy

Since
4.3

If this property is true then the item text is wrapped where necessary at word-breaks; otherwise it is not wrapped at all. This property is true by default.

Note that even of wrapping is enabled, the cell will not be expanded to fit all text. Ellipsis will be inserted according to the current QAbstractItemView::textElideMode.

Definition at line 64 of file qtableview.h.


The documentation for this class was generated from the following files: