Qt 4.8
Public Types | Public Slots | Signals | Public Functions | Protected Functions | Properties | Friends | List of all members
QTabBar Class Reference

The QTabBar class provides a tab bar, e.g. More...

#include <qtabbar.h>

Inheritance diagram for QTabBar:
QWidget QObject QPaintDevice QMainWindowTabBar QMdiAreaTabBar

Public Types

enum  ButtonPosition { LeftSide, RightSide }
 This enum type lists the location of the widget on a tab. More...
 
enum  SelectionBehavior { SelectLeftTab, SelectRightTab, SelectPreviousTab }
 This enum type lists the behavior of QTabBar when a tab is removed and the tab being removed is also the current tab. More...
 
enum  Shape {
  RoundedNorth, RoundedSouth, RoundedWest, RoundedEast,
  TriangularNorth, TriangularSouth, TriangularWest, TriangularEast
}
 This enum type lists the built-in shapes supported by QTabBar. 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
}
 

Public Slots

void setCurrentIndex (int index)
 
- 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...
 

Signals

void currentChanged (int index)
 This signal is emitted when the tab bar's current tab changes. More...
 
void tabCloseRequested (int index)
 This signal is emitted when the close button on a tab is clicked. More...
 
void tabMoved (int from, int to)
 This signal is emitted when the tab has moved the tab at index position from to index position to. 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...
 

Public Functions

int addTab (const QString &text)
 Adds a new tab with text text. More...
 
int addTab (const QIcon &icon, const QString &text)
 Adds a new tab with icon icon and text text. More...
 
int count () const
 
int currentIndex () const
 
bool documentMode () const
 
bool drawBase () const
 
Qt::TextElideMode elideMode () const
 
bool expanding () const
 
QSize iconSize () const
 
int insertTab (int index, const QString &text)
 Inserts a new tab with text text at position index. More...
 
int insertTab (int index, const QIcon &icon, const QString &text)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Inserts a new tab with icon icon and text text at position index. More...
 
bool isMovable () const
 
bool isTabEnabled (int index) const
 Returns true if the tab at position index is enabled; otherwise returns false. More...
 
QSize minimumSizeHint () const
 
void moveTab (int from, int to)
 Moves the item at index position from to index position to. More...
 
 QTabBar (QWidget *parent=0)
 Creates a new tab bar with the given parent. More...
 
void removeTab (int index)
 Removes the tab at position index. More...
 
SelectionBehavior selectionBehaviorOnRemove () const
 
void setDocumentMode (bool set)
 
void setDrawBase (bool drawTheBase)
 
void setElideMode (Qt::TextElideMode)
 
void setExpanding (bool enabled)
 
void setIconSize (const QSize &size)
 
void setMovable (bool movable)
 
void setSelectionBehaviorOnRemove (SelectionBehavior behavior)
 
void setShape (Shape shape)
 
void setTabButton (int index, ButtonPosition position, QWidget *widget)
 Sets widget on the tab index. More...
 
void setTabData (int index, const QVariant &data)
 Sets the data of the tab at position index to data. More...
 
void setTabEnabled (int index, bool)
 If enabled is true then the tab at position index is enabled; otherwise the item at position index is disabled. More...
 
void setTabIcon (int index, const QIcon &icon)
 Sets the icon of the tab at position index to icon. More...
 
void setTabsClosable (bool closable)
 
void setTabText (int index, const QString &text)
 Sets the text of the tab at position index to text. More...
 
void setTabTextColor (int index, const QColor &color)
 Sets the color of the text in the tab with the given index to the specified color. More...
 
void setTabToolTip (int index, const QString &tip)
 Sets the tool tip of the tab at position index to tip. More...
 
void setTabWhatsThis (int index, const QString &text)
 Sets the What's This help text of the tab at position index to text. More...
 
void setUsesScrollButtons (bool useButtons)
 
Shape shape () const
 
QSize sizeHint () const
 em>Reimplemented Function More...
 
int tabAt (const QPoint &pos) const
 
QWidgettabButton (int index, ButtonPosition position) const
 Returns the widget set a tab index and position or 0 if one is not set. More...
 
QVariant tabData (int index) const
 Returns the data of the tab at position index, or a null variant if index is out of range. More...
 
QIcon tabIcon (int index) const
 Returns the icon of the tab at position index, or a null icon if index is out of range. More...
 
QRect tabRect (int index) const
 Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of range. More...
 
bool tabsClosable () const
 
QString tabText (int index) const
 Returns the text of the tab at position index, or an empty string if index is out of range. More...
 
QColor tabTextColor (int index) const
 Returns the text color of the tab with the given index, or a invalid color if index is out of range. More...
 
QString tabToolTip (int index) const
 Returns the tool tip of the tab at position index, or an empty string if index is out of range. More...
 
QString tabWhatsThis (int index) const
 Returns the What's This help text of the tab at position index, or an empty string if index is out of range. More...
 
bool usesScrollButtons () const
 
 ~QTabBar ()
 Destroys the tab bar. 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
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery) const
 This method is only relevant for input widgets. More...
 
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 Functions

void changeEvent (QEvent *)
 This event handler can be reimplemented to handle state changes. More...
 
bool event (QEvent *)
 em>Reimplemented Function More...
 
void hideEvent (QHideEvent *)
 em>Reimplemented Function More...
 
void initStyleOption (QStyleOptionTab *option, int tabIndex) const
 Initialize option with the values from the tab at tabIndex. More...
 
void keyPressEvent (QKeyEvent *)
 em>Reimplemented Function More...
 
void mouseMoveEvent (QMouseEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse move events for the widget. More...
 
void mousePressEvent (QMouseEvent *)
 em>Reimplemented Function More...
 
void mouseReleaseEvent (QMouseEvent *)
 em>Reimplemented Function More...
 
void paintEvent (QPaintEvent *)
 This event handler can be reimplemented in a subclass to receive paint events passed in event. More...
 
void resizeEvent (QResizeEvent *)
 em>Reimplemented Function More...
 
void showEvent (QShowEvent *)
 em>Reimplemented Function More...
 
virtual void tabInserted (int index)
 This virtual handler is called after a new tab was added or inserted at position index. More...
 
virtual void tabLayoutChange ()
 This virtual handler is called whenever the tab layout changes. More...
 
virtual void tabRemoved (int index)
 This virtual handler is called after a tab was removed from position index. More...
 
virtual QSize tabSizeHint (int index) const
 Returns the size hint for the tab at position index. More...
 
void wheelEvent (QWheelEvent *event)
 This event handler, for event event, can be reimplemented in a subclass to receive wheel events for the widget. More...
 
- 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...
 
virtual void contextMenuEvent (QContextMenuEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive widget context menu events. 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 dragEnterEvent (QDragEnterEvent *)
 This event handler is called when a drag is in progress and the mouse enters this widget. More...
 
virtual void dragLeaveEvent (QDragLeaveEvent *)
 This event handler is called when a drag is in progress and the mouse leaves this widget. More...
 
virtual void dragMoveEvent (QDragMoveEvent *)
 This event handler is called if a drag is in progress, and when any of the following conditions occur: the cursor enters this widget, the cursor moves within this widget, or a modifier key is pressed on the keyboard while this widget has the focus. More...
 
virtual void dropEvent (QDropEvent *)
 This event handler is called when the drag is dropped on this widget. 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...
 
virtual void focusInEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive keyboard focus events (focus received) for the widget. 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...
 
virtual bool focusNextPrevChild (bool next)
 Finds a new widget to give the keyboard focus to, as appropriate for Tab and Shift+Tab, and returns true if it can find a new widget, or false if it can't. More...
 
virtual void focusOutEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive keyboard focus events (focus lost) for the widget. 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 inputMethodEvent (QInputMethodEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive Input Method composition 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 mouseDoubleClickEvent (QMouseEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive mouse double click events for the widget. 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 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
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Functions inherited from QPaintDevice
 QPaintDevice ()
 

Properties

int count
 the number of tabs in the tab bar More...
 
int currentIndex
 the index of the tab bar's visible tab More...
 
bool documentMode
 Whether or not the tab bar is rendered in a mode suitable for the main window. More...
 
bool drawBase
 defines whether or not tab bar should draw its base. More...
 
Qt::TextElideMode elideMode
 how to elide text in the tab bar More...
 
bool expanding
 When expanding is true QTabBar will expand the tabs to use the empty space. More...
 
QSize iconSize
 The size for icons in the tab bar. More...
 
bool movable
 This property holds whether the user can move the tabs within the tabbar area. More...
 
SelectionBehavior selectionBehaviorOnRemove
 What tab should be set as current when removeTab is called if the removed tab is also the current tab. More...
 
Shape shape
 the shape of the tabs in the tab bar More...
 
bool tabsClosable
 Whether or not a tab bar should place close buttons on each tab. More...
 
bool usesScrollButtons
 Whether or not a tab bar should use buttons to scroll tabs when it has many tabs. More...
 

Friends

class QAccessibleTabBar
 

Additional Inherited Members

- 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 Slots inherited from QWidget
void updateMicroFocus ()
 Updates the widget's micro focus. 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 QTabBar class provides a tab bar, e.g.

for use in tabbed dialogs.

QTabBar is straightforward to use; it draws the tabs using one of the predefined shapes, and emits a signal when a tab is selected. It can be subclassed to tailor the look and feel. Qt also provides a ready-made QTabWidget.

Each tab has a tabText(), an optional tabIcon(), an optional tabToolTip(), optional tabWhatsThis() and optional tabData(). The tabs's attributes can be changed with setTabText(), setTabIcon(), setTabToolTip(), setTabWhatsThis and setTabData(). Each tabs can be enabled or disabled individually with setTabEnabled().

Each tab can display text in a distinct color. The current text color for a tab can be found with the tabTextColor() function. Set the text color for a particular tab with setTabTextColor().

Tabs are added using addTab(), or inserted at particular positions using insertTab(). The total number of tabs is given by count(). Tabs can be removed from the tab bar with removeTab(). Combining removeTab() and insertTab() allows you to move tabs to different positions.

The shape property defines the tabs' appearance. The choice of shape is a matter of taste, although tab dialogs (for preferences and similar) invariably use RoundedNorth . Tab controls in windows other than dialogs almost always use either RoundedSouth or TriangularSouth . Many spreadsheets and other tab controls in which all the pages are essentially similar use TriangularSouth , whereas RoundedSouth is used mostly when the pages are different (e.g. a multi-page tool palette). The default in QTabBar is RoundedNorth .

The most important part of QTabBar's API is the currentChanged() signal. This is emitted whenever the current tab changes (even at startup, when the current tab changes from 'none'). There is also a slot, setCurrentIndex(), which can be used to select a tab programmatically. The function currentIndex() returns the index of the current tab, count holds the number of tabs.

QTabBar creates automatic mnemonic keys in the manner of QAbstractButton; e.g. if a tab's label is "\&Graphics", Alt+G becomes a shortcut key for switching to that tab.

The following virtual functions may need to be reimplemented in order to tailor the look and feel or store extra data with each tab:

For subclasses, you might also need the tabRect() functions which returns the visual geometry of a single tab.

plastique-tabbar.png
Screenshot of a Plastique style tab bar
A tab bar shown in the Plastique widget style.
plastique-tabbar-truncated.png
Screenshot of a truncated Plastique tab bar
A truncated tab bar shown in the Plastique widget style.
See also
QTabWidget

Definition at line 59 of file qtabbar.h.

Enumerations

◆ ButtonPosition

This enum type lists the location of the widget on a tab.

Since
4.5
  • LeftSide Left side of the tab.
  • RightSide Right side of the tab.
Enumerator
LeftSide 
RightSide 

Definition at line 89 of file qtabbar.h.

89  {
90  LeftSide,
91  RightSide
92  };

◆ SelectionBehavior

This enum type lists the behavior of QTabBar when a tab is removed and the tab being removed is also the current tab.

Since
4.5
  • SelectLeftTab Select the tab to the left of the one being removed.
  • SelectRightTab Select the tab to the right of the one being removed.
  • SelectPreviousTab Select the previously selected tab.
Enumerator
SelectLeftTab 
SelectRightTab 
SelectPreviousTab 

Definition at line 94 of file qtabbar.h.

◆ Shape

This enum type lists the built-in shapes supported by QTabBar.

Treat these as hints as some styles may not render some of the shapes. However, position should be honored.

  • RoundedNorth The normal rounded look above the pages
  • RoundedSouth The normal rounded look below the pages
  • RoundedWest The normal rounded look on the left side of the pages
  • RoundedEast The normal rounded look on the right side the pages
  • TriangularNorth Triangular tabs above the pages.
  • TriangularSouth Triangular tabs similar to those used in the Excel spreadsheet, for example
  • TriangularWest Triangular tabs on the left of the pages.
  • TriangularEast Triangular tabs on the right of the pages.
  • RoundedAbove
  • RoundedBelow
  • TriangularAbove
  • TriangularBelow
Enumerator
RoundedNorth 
RoundedSouth 
RoundedWest 
RoundedEast 
TriangularNorth 
TriangularSouth 
TriangularWest 
TriangularEast 

Definition at line 81 of file qtabbar.h.

83 #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
84  , RoundedAbove = RoundedNorth, RoundedBelow = RoundedSouth,
85  TriangularAbove = TriangularNorth, TriangularBelow = TriangularSouth
86 #endif
87  };

Constructors and Destructors

◆ QTabBar()

QTabBar::QTabBar ( QWidget parent = 0)
explicit

Creates a new tab bar with the given parent.

Definition at line 746 of file qtabbar.cpp.

747  :QWidget(*new QTabBarPrivate, parent, 0)
748 {
749  Q_D(QTabBar);
750  d->init();
751 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
QWidget(QWidget *parent=0, Qt::WindowFlags f=0)
Constructs a widget which is a child of parent, with widget flags set to f.
Definition: qwidget.cpp:1189

◆ ~QTabBar()

QTabBar::~QTabBar ( )

Destroys the tab bar.

Definition at line 757 of file qtabbar.cpp.

758 {
759 }

Functions

◆ addTab() [1/2]

int QTabBar::addTab ( const QString text)

Adds a new tab with text text.

Returns the new tab's index.

Definition at line 819 of file qtabbar.cpp.

Referenced by QMdiAreaPrivate::appendChild(), and QMdiAreaPrivate::setViewMode().

820 {
821  return insertTab(-1, text);
822 }
int insertTab(int index, const QString &text)
Inserts a new tab with text text at position index.
Definition: qtabbar.cpp:843

◆ addTab() [2/2]

int QTabBar::addTab ( const QIcon icon,
const QString text 
)

Adds a new tab with icon icon and text text.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns the new tab's index.

Definition at line 833 of file qtabbar.cpp.

834 {
835  return insertTab(-1, icon, text);
836 }
int insertTab(int index, const QString &text)
Inserts a new tab with text text at position index.
Definition: qtabbar.cpp:843

◆ changeEvent()

void QTabBar::changeEvent ( QEvent event)
protectedvirtual

This event handler can be reimplemented to handle state changes.

The state being changed in this event can be retrieved through the event supplied.

Change events include: QEvent::ToolBarChange, QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::WindowTitleChange, QEvent::IconTextChange, QEvent::ModifiedChange, QEvent::MouseTrackingChange, QEvent::ParentChange, QEvent::WindowStateChange, QEvent::LanguageChange, QEvent::LocaleChange, QEvent::LayoutDirectionChange.

Reimplemented from QWidget.

Definition at line 2040 of file qtabbar.cpp.

2041 {
2042  Q_D(QTabBar);
2043  if (event->type() == QEvent::StyleChange) {
2044  if (!d->elideModeSetByUser)
2045  d->elideMode = Qt::TextElideMode(style()->styleHint(QStyle::SH_TabBar_ElideMode, 0, this));
2046  if (!d->useScrollButtonsSetByUser)
2047  d->useScrollButtons = !style()->styleHint(QStyle::SH_TabBar_PreferNoArrows, 0, this);
2048  d->refresh();
2049  } else if (event->type() == QEvent::FontChange) {
2050  d->refresh();
2051  }
2052  QWidget::changeEvent(event);
2053 }
double d
Definition: qnumeric_p.h:62
TextElideMode
Definition: qnamespace.h:263
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...
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
QStyle * style() const
Definition: qwidget.cpp:2742
virtual void changeEvent(QEvent *)
This event handler can be reimplemented to handle state changes.
Definition: qwidget.cpp:9170
const char * styleHint(const QFontDef &request)
Type type() const
Returns the event type.
Definition: qcoreevent.h:303

◆ count()

int QTabBar::count ( ) const

Referenced by setCurrentIndex(), and setIconSize().

◆ currentChanged

void QTabBar::currentChanged ( int  index)
signal

This signal is emitted when the tab bar's current tab changes.

The new current has the given index, or -1 if there isn't a new one (for example, if there are no tab in the QTabBar)

Referenced by QMainWindowLayout::getTabBar(), removeTab(), and setCurrentIndex().

◆ currentIndex()

int QTabBar::currentIndex ( ) const

◆ documentMode()

bool QTabBar::documentMode ( ) const

Referenced by setMovable().

◆ drawBase()

bool QTabBar::drawBase ( ) const

Referenced by setDrawBase().

◆ elideMode()

Qt::TextElideMode QTabBar::elideMode ( ) const

◆ event()

bool QTabBar::event ( QEvent event)
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1490 of file qtabbar.cpp.

Referenced by QMainWindowTabBar::event().

◆ expanding()

bool QTabBar::expanding ( ) const

◆ hideEvent()

void QTabBar::hideEvent ( QHideEvent )
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1482 of file qtabbar.cpp.

◆ iconSize()

QSize QTabBar::iconSize ( ) const

Referenced by setCurrentIndex(), and tabSizeHint().

◆ initStyleOption()

void QTabBar::initStyleOption ( QStyleOptionTab option,
int  tabIndex 
) const
protected

Initialize option with the values from the tab at tabIndex.

This method is useful for subclasses when they need a QStyleOptionTab, QStyleOptionTabV2, or QStyleOptionTabV3 but don't want to fill in all the information themselves. This function will check the version of the QStyleOptionTab and fill in the additional values for a QStyleOptionTabV2 and QStyleOptionTabV3.

See also
QStyleOption::initFrom() QTabWidget::initStyleOption()

Definition at line 130 of file qtabbar.cpp.

Referenced by insertTab(), paintEvent(), and tabSizeHint().

131 {
132  Q_D(const QTabBar);
133  int totalTabs = d->tabList.size();
134 
135  if (!option || (tabIndex < 0 || tabIndex >= totalTabs))
136  return;
137 
138  const QTabBarPrivate::Tab &tab = d->tabList.at(tabIndex);
139  option->initFrom(this);
141  option->rect = tabRect(tabIndex);
142  bool isCurrent = tabIndex == d->currentIndex;
143  option->row = 0;
144  if (tabIndex == d->pressedIndex)
145  option->state |= QStyle::State_Sunken;
146  if (isCurrent)
147  option->state |= QStyle::State_Selected;
148  if (isCurrent && hasFocus())
149  option->state |= QStyle::State_HasFocus;
150  if (!tab.enabled)
151  option->state &= ~QStyle::State_Enabled;
152  if (isActiveWindow())
153  option->state |= QStyle::State_Active;
154  if (!d->dragInProgress && option->rect == d->hoverRect)
155  option->state |= QStyle::State_MouseOver;
156  option->shape = d->shape;
157  option->text = tab.text;
158 
159  if (tab.textColor.isValid())
160  option->palette.setColor(foregroundRole(), tab.textColor);
161 
162  option->icon = tab.icon;
163  if (QStyleOptionTabV2 *optionV2 = qstyleoption_cast<QStyleOptionTabV2 *>(option))
164  optionV2->iconSize = iconSize(); // Will get the default value then.
165 
166  if (QStyleOptionTabV3 *optionV3 = qstyleoption_cast<QStyleOptionTabV3 *>(option)) {
167  optionV3->leftButtonSize = tab.leftWidget ? tab.leftWidget->size() : QSize();
168  optionV3->rightButtonSize = tab.rightWidget ? tab.rightWidget->size() : QSize();
169  optionV3->documentMode = d->documentMode;
170  }
171 
172  if (tabIndex > 0 && tabIndex - 1 == d->currentIndex)
174  else if (tabIndex + 1 < totalTabs && tabIndex + 1 == d->currentIndex)
176  else
178 
179  bool paintBeginning = (tabIndex == 0) || (d->dragInProgress && tabIndex == d->pressedIndex + 1);
180  bool paintEnd = (tabIndex == totalTabs - 1) || (d->dragInProgress && tabIndex == d->pressedIndex - 1);
181  if (paintBeginning) {
182  if (paintEnd)
184  else
186  } else if (paintEnd) {
187  option->position = QStyleOptionTab::End;
188  } else {
190  }
191 
192 #ifndef QT_NO_TABWIDGET
193  if (const QTabWidget *tw = qobject_cast<const QTabWidget *>(parentWidget())) {
194  if (tw->cornerWidget(Qt::TopLeftCorner) || tw->cornerWidget(Qt::BottomLeftCorner))
196  if (tw->cornerWidget(Qt::TopRightCorner) || tw->cornerWidget(Qt::BottomRightCorner))
198  }
199 #endif
200 
201  QRect textRect = style()->subElementRect(QStyle::SE_TabBarTabText, option, this);
202  option->text = fontMetrics().elidedText(option->text, d->elideMode, textRect.width(),
204 }
double d
Definition: qnumeric_p.h:62
QWidget * parentWidget() const
Returns the parent of this widget, or 0 if it does not have any parent widget.
Definition: qwidget.h:1035
The QStyleOptionTabV2 class is used to describe the parameters necessary for drawing a tabs in Qt 4...
Definition: qstyleoption.h:333
QStyle::State state
the style flags that are used when drawing the control
Definition: qstyleoption.h:88
QWidget * rightWidget
Definition: qtabbar_p.h:119
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
TabPosition position
the position of the tab in the tab bar
Definition: qstyleoption.h:320
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
bool isActiveWindow() const
bool hasFocus() const
Definition: qwidget.cpp:6583
#define Q_D(Class)
Definition: qglobal.h:2482
QTabBar::Shape shape
the tab shape used to draw the tab; by default QTabBar::RoundedNorth
Definition: qstyleoption.h:316
QString elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags=0) const
If the string text is wider than width, returns an elided version of the string (i.
QStyle * style() const
Definition: qwidget.cpp:2742
QPalette::ColorRole foregroundRole() const
Returns the foreground role.
Definition: qwidget.cpp:4728
void initFrom(const QWidget *w)
Definition: qstyleoption.h:99
QFontMetrics fontMetrics() const
Returns the font metrics for the widget&#39;s current font.
Definition: qwidget.h:984
int row
which row the tab is currently in
Definition: qstyleoption.h:319
QSize size
the size of the widget excluding any window frame
Definition: qwidget.h:165
CornerWidgets cornerWidgets
an OR combination of CornerWidget values indicating the corner widgets of the tab bar ...
Definition: qstyleoption.h:322
QPalette palette
the palette that should be used when painting the control
Definition: qstyleoption.h:92
QString text
the text of the tab
Definition: qstyleoption.h:317
SelectedPosition selectedPosition
the position of the selected tab in relation to this tab
Definition: qstyleoption.h:321
virtual QRect subElementRect(SubElement subElement, const QStyleOption *option, const QWidget *widget=0) const =0
Returns the sub-area for the given element as described in the provided style option.
QSize iconSize() const
void setColor(ColorGroup cg, ColorRole cr, const QColor &color)
Sets the color in the specified color group, used for the given color role, to the specified solid co...
Definition: qpalette.h:201
The QStyle class is an abstract base class that encapsulates the look and feel of a GUI...
Definition: qstyle.h:68
The QStyleOptionTabV3 class is used to describe the parameters necessary for drawing a tabs in Qt 4...
Definition: qstyleoption.h:347
if(void) toggleToolbarShown
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
QRect tabRect(int index) const
Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of ran...
Definition: qtabbar.cpp:1179
QIcon icon
the icon for the tab
Definition: qstyleoption.h:318
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
The QTabWidget class provides a stack of tabbed widgets.
Definition: qtabwidget.h:60
bool isValid() const
Returns true if the color is valid; otherwise returns false.
Definition: qcolor.h:295
QWidget * leftWidget
Definition: qtabbar_p.h:118
QRect rect
the area that should be used for various calculations and painting
Definition: qstyleoption.h:90

◆ insertTab() [1/2]

int QTabBar::insertTab ( int  index,
const QString text 
)

Inserts a new tab with text text at position index.

If index is out of range, the new tab is appened. Returns the new tab's index.

Definition at line 843 of file qtabbar.cpp.

Referenced by addTab(), and QDockAreaLayoutInfo::updateTabBar().

844 {
845  return insertTab(index, QIcon(), text);
846 }
int insertTab(int index, const QString &text)
Inserts a new tab with text text at position index.
Definition: qtabbar.cpp:843
quint16 index
The QIcon class provides scalable icons in different modes and states.
Definition: qicon.h:60

◆ insertTab() [2/2]

int QTabBar::insertTab ( int  index,
const QIcon icon,
const QString text 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Inserts a new tab with icon icon and text text at position index.

If index is out of range, the new tab is appended. Returns the new tab's index.

If the QTabBar was empty before this function is called, the inserted tab becomes the current tab.

Inserting a new tab at an index less than or equal to the current index will increment the current index, but keep the current tab.

Definition at line 860 of file qtabbar.cpp.

861 {
862  Q_D(QTabBar);
863  if (!d->validIndex(index)) {
864  index = d->tabList.count();
865  d->tabList.append(QTabBarPrivate::Tab(icon, text));
866  } else {
867  d->tabList.insert(index, QTabBarPrivate::Tab(icon, text));
868  }
869 #ifndef QT_NO_SHORTCUT
870  d->tabList[index].shortcutId = grabShortcut(QKeySequence::mnemonic(text));
871 #endif
872  d->refresh();
873  if (d->tabList.count() == 1)
875  else if (index <= d->currentIndex)
876  ++d->currentIndex;
877 
878  if (d->closeButtonOnTabs) {
879  QStyleOptionTabV3 opt;
880  initStyleOption(&opt, index);
882  QAbstractButton *closeButton = new CloseButton(this);
883  connect(closeButton, SIGNAL(clicked()), this, SLOT(_q_closeTab()));
884  setTabButton(index, closeSide, closeButton);
885  }
886 
887  for (int i = 0; i < d->tabList.count(); ++i) {
888  if (d->tabList[i].lastTab >= index)
889  ++d->tabList[i].lastTab;
890  }
891 
893  return index;
894 }
The QAbstractButton class is the abstract base class of button widgets, providing functionality commo...
double d
Definition: qnumeric_p.h:62
static QKeySequence mnemonic(const QString &text)
Returns the shortcut key sequence for the mnemonic in text, or an empty key sequence if no mnemonics ...
ButtonPosition
This enum type lists the location of the widget on a tab.
Definition: qtabbar.h:89
#define SLOT(a)
Definition: qobjectdefs.h:226
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...
void setCurrentIndex(int index)
Definition: qtabbar.cpp:1238
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
void setTabButton(int index, ButtonPosition position, QWidget *widget)
Sets widget on the tab index.
Definition: qtabbar.cpp:2346
QStyle * style() const
Definition: qwidget.cpp:2742
virtual void tabInserted(int index)
This virtual handler is called after a new tab was added or inserted at position index.
Definition: qtabbar.cpp:1442
#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
int grabShortcut(const QKeySequence &key, Qt::ShortcutContext context=Qt::WindowShortcut)
Adds a shortcut to Qt&#39;s shortcut system that watches for the given key sequence in the given context...
Definition: qwidget.cpp:11747
void initStyleOption(QStyleOptionTab *option, int tabIndex) const
Initialize option with the values from the tab at tabIndex.
Definition: qtabbar.cpp:130
The QStyleOptionTabV3 class is used to describe the parameters necessary for drawing a tabs in Qt 4...
Definition: qstyleoption.h:347
quint16 index
int currentIndex() const

◆ isMovable()

bool QTabBar::isMovable ( ) const

Definition at line 2293 of file qtabbar.cpp.

Referenced by QTabWidget::isMovable().

2294 {
2295  Q_D(const QTabBar);
2296  return d->movable;
2297 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482

◆ isTabEnabled()

bool QTabBar::isTabEnabled ( int  index) const

Returns true if the tab at position index is enabled; otherwise returns false.

Definition at line 977 of file qtabbar.cpp.

Referenced by QAccessibleTabBar::state().

978 {
979  Q_D(const QTabBar);
980  if (const QTabBarPrivate::Tab *tab = d->at(index))
981  return tab->enabled;
982  return false;
983 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ keyPressEvent()

void QTabBar::keyPressEvent ( QKeyEvent event)
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 2004 of file qtabbar.cpp.

◆ minimumSizeHint()

QSize QTabBar::minimumSizeHint ( ) const
virtual

Reimplemented from QWidget.

Definition at line 1331 of file qtabbar.cpp.

Referenced by QDockAreaLayoutInfo::tabBarMinimumSize().

1332 {
1333  Q_D(const QTabBar);
1334  if (d->layoutDirty)
1335  const_cast<QTabBarPrivate*>(d)->layoutTabs();
1336  if (!d->useScrollButtons) {
1337  QRect r;
1338  for (int i = 0; i < d->tabList.count(); ++i)
1339  r = r.united(d->tabList.at(i).minRect);
1341  }
1342  if (verticalTabs(d->shape))
1343  return QSize(sizeHint().width(), d->rightB->sizeHint().height() * 2 + 75);
1344  else
1345  return QSize(d->rightB->sizeHint().width() * 2 + 75, sizeHint().height());
1346 }
double d
Definition: qnumeric_p.h:62
static QSize globalStrut()
QRect united(const QRect &other) const
Returns the bounding rectangle of this rectangle and the given rectangle.
Definition: qrect.h:491
QSize expandedTo(const QSize &) const
Returns a size holding the maximum width and height of this size and the given otherSize.
Definition: qsize.h:187
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
QSize sizeHint() const
em>Reimplemented Function
Definition: qtabbar.cpp:1317
#define Q_D(Class)
Definition: qglobal.h:2482
int width() const
QSize size() const
Returns the size of the rectangle.
Definition: qrect.h:309
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
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
static bool verticalTabs(QTabBar::Shape shape)
Definition: qtabbar.cpp:77

◆ mouseMoveEvent()

void QTabBar::mouseMoveEvent ( QMouseEvent event)
protectedvirtual

This event handler, for event event, can be reimplemented in a subclass to receive mouse move events for the widget.

If mouse tracking is switched off, mouse move events only occur if a mouse button is pressed while the mouse is being moved. If mouse tracking is switched on, mouse move events occur even if no mouse button is pressed.

QMouseEvent::pos() reports the position of the mouse cursor, relative to this widget. For press and release events, the position is usually the same as the position of the last mouse move event, but it might be different if the user's hand shakes. This is a feature of the underlying window system, not Qt.

If you want to show a tooltip immediately, while the mouse is moving (e.g., to get the mouse coordinates with QMouseEvent::pos() and show them as a tooltip), you must first enable mouse tracking as described above. Then, to ensure that the tooltip is updated immediately, you must call QToolTip::showText() instead of setToolTip() in your implementation of mouseMoveEvent().

See also
setMouseTracking(), mousePressEvent(), mouseReleaseEvent(), mouseDoubleClickEvent(), event(), QMouseEvent, {Scribble Example}

Reimplemented from QWidget.

Definition at line 1810 of file qtabbar.cpp.

1811 {
1812  Q_D(QTabBar);
1813  if (d->movable) {
1814  // Be safe!
1815  if (d->pressedIndex != -1
1816  && event->buttons() == Qt::NoButton)
1817  d->moveTabFinished(d->pressedIndex);
1818 
1819  // Start drag
1820  if (!d->dragInProgress && d->pressedIndex != -1) {
1821  if ((event->pos() - d->dragStartPosition).manhattanLength() > QApplication::startDragDistance()) {
1822  d->dragInProgress = true;
1823  d->setupMovableTab();
1824  }
1825  }
1826 
1827  int offset = (event->pos() - d->dragStartPosition).manhattanLength();
1828  if (event->buttons() == Qt::LeftButton
1829  && offset > QApplication::startDragDistance()
1830  && d->validIndex(d->pressedIndex)) {
1831  bool vertical = verticalTabs(d->shape);
1832  int dragDistance;
1833  if (vertical) {
1834  dragDistance = (event->pos().y() - d->dragStartPosition.y());
1835  } else {
1836  dragDistance = (event->pos().x() - d->dragStartPosition.x());
1837  }
1838  d->tabList[d->pressedIndex].dragOffset = dragDistance;
1839 
1840  QRect startingRect = tabRect(d->pressedIndex);
1841  if (vertical)
1842  startingRect.moveTop(startingRect.y() + dragDistance);
1843  else
1844  startingRect.moveLeft(startingRect.x() + dragDistance);
1845 
1846  int overIndex;
1847  if (dragDistance < 0)
1848  overIndex = tabAt(startingRect.topLeft());
1849  else
1850  overIndex = tabAt(startingRect.topRight());
1851 
1852  if (overIndex != d->pressedIndex && overIndex != -1) {
1853  int offset = 1;
1854  if (isRightToLeft() && !vertical)
1855  offset *= -1;
1856  if (dragDistance < 0) {
1857  dragDistance *= -1;
1858  offset *= -1;
1859  }
1860  for (int i = d->pressedIndex;
1861  offset > 0 ? i < overIndex : i > overIndex;
1862  i += offset) {
1863  QRect overIndexRect = tabRect(overIndex);
1864  int needsToBeOver = (vertical ? overIndexRect.height() : overIndexRect.width()) / 2;
1865  if (dragDistance > needsToBeOver)
1866  d->slide(i + offset, d->pressedIndex);
1867  }
1868  }
1869  // Buttons needs to follow the dragged tab
1870  d->layoutTab(d->pressedIndex);
1871 
1872  update();
1873  }
1874 #ifdef Q_WS_MAC
1875  } else if (!d->documentMode && event->buttons() == Qt::LeftButton && d->previousPressedIndex != -1) {
1876  int newPressedIndex = d->indexAtPos(event->pos());
1877  if (d->pressedIndex == -1 && d->previousPressedIndex == newPressedIndex) {
1878  d->pressedIndex = d->previousPressedIndex;
1879  update(tabRect(d->pressedIndex));
1880  } else if(d->pressedIndex != newPressedIndex) {
1881  d->pressedIndex = -1;
1882  update(tabRect(d->previousPressedIndex));
1883  }
1884 #endif
1885  }
1886 
1887  if (event->buttons() != Qt::LeftButton) {
1888  event->ignore();
1889  return;
1890  }
1891  QStyleOptionTabBarBaseV2 optTabBase;
1892  optTabBase.init(this);
1893  optTabBase.documentMode = d->documentMode;
1894 }
double d
Definition: qnumeric_p.h:62
void moveLeft(int pos)
Moves the rectangle horizontally, leaving the rectangle&#39;s left edge at the given x coordinate...
Definition: qrect.h:350
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
void init(const QWidget *w)
Use initFrom(widget) instead.
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
#define Q_D(Class)
Definition: qglobal.h:2482
const QPoint & pos() const
Returns the position of the mouse cursor, relative to the widget that received the event...
Definition: qevent.h:95
void update()
Updates the widget unless updates are disabled or the widget is hidden.
Definition: qwidget.cpp:10883
bool documentMode
whether the tabbar is in document mode.
Definition: qstyleoption.h:239
static int startDragDistance()
QPoint topRight() const
Returns the position of the rectangle&#39;s top-right corner.
Definition: qrect.h:294
The QStyleOptionTabBarBaseV2 class is used to describe the base of a tab bar, i.e.
Definition: qstyleoption.h:235
Qt::MouseButtons buttons() const
Returns the button state when the event was generated.
Definition: qevent.h:102
int y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:255
int x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:252
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
QRect tabRect(int index) const
Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of ran...
Definition: qtabbar.cpp:1179
int tabAt(const QPoint &pos) const
Definition: qtabbar.cpp:1203
bool isRightToLeft() const
Definition: qwidget.h:428
void moveTop(int pos)
Moves the rectangle vertically, leaving the rectangle&#39;s top edge at the given y coordinate.
Definition: qrect.h:353
static bool verticalTabs(QTabBar::Shape shape)
Definition: qtabbar.cpp:77
QPoint topLeft() const
Returns the position of the rectangle&#39;s top-left corner.
Definition: qrect.h:288

◆ mousePressEvent()

void QTabBar::mousePressEvent ( QMouseEvent event)
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1779 of file qtabbar.cpp.

Referenced by QMdiAreaTabBar::mousePressEvent().

◆ mouseReleaseEvent()

void QTabBar::mouseReleaseEvent ( QMouseEvent event)
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1970 of file qtabbar.cpp.

◆ moveTab()

void QTabBar::moveTab ( int  from,
int  to 
)

Moves the item at index position from to index position to.

Since
4.5
See also
tabMoved(), tabLayoutChange()

Definition at line 1672 of file qtabbar.cpp.

1673 {
1674  Q_D(QTabBar);
1675  if (from == to
1676  || !d->validIndex(from)
1677  || !d->validIndex(to))
1678  return;
1679 
1680  bool vertical = verticalTabs(d->shape);
1681  int oldPressedPosition = 0;
1682  if (d->pressedIndex != -1) {
1683  // Record the position of the pressed tab before reordering the tabs.
1684  oldPressedPosition = vertical ? d->tabList[d->pressedIndex].rect.y()
1685  : d->tabList[d->pressedIndex].rect.x();
1686  }
1687 
1688  // Update the locations of the tabs first
1689  int start = qMin(from, to);
1690  int end = qMax(from, to);
1691  int width = vertical ? d->tabList[from].rect.height() : d->tabList[from].rect.width();
1692  if (from < to)
1693  width *= -1;
1694  bool rtl = isRightToLeft();
1695  for (int i = start; i <= end; ++i) {
1696  if (i == from)
1697  continue;
1698  if (vertical)
1699  d->tabList[i].rect.moveTop(d->tabList[i].rect.y() + width);
1700  else
1701  d->tabList[i].rect.moveLeft(d->tabList[i].rect.x() + width);
1702  int direction = -1;
1703  if (rtl && !vertical)
1704  direction *= -1;
1705  if (d->tabList[i].dragOffset != 0)
1706  d->tabList[i].dragOffset += (direction * width);
1707  }
1708 
1709  if (vertical) {
1710  if (from < to)
1711  d->tabList[from].rect.moveTop(d->tabList[to].rect.bottom() + 1);
1712  else
1713  d->tabList[from].rect.moveTop(d->tabList[to].rect.top() - width);
1714  } else {
1715  if (from < to)
1716  d->tabList[from].rect.moveLeft(d->tabList[to].rect.right() + 1);
1717  else
1718  d->tabList[from].rect.moveLeft(d->tabList[to].rect.left() - width);
1719  }
1720 
1721  // Move the actual data structures
1722  d->tabList.move(from, to);
1723 
1724  // update lastTab locations
1725  for (int i = 0; i < d->tabList.count(); ++i)
1726  d->tabList[i].lastTab = d->calculateNewPosition(from, to, d->tabList[i].lastTab);
1727 
1728  // update external variables
1729  d->currentIndex = d->calculateNewPosition(from, to, d->currentIndex);
1730 
1731  // If we are in the middle of a drag update the dragStartPosition
1732  if (d->pressedIndex != -1) {
1733  d->pressedIndex = d->calculateNewPosition(from, to, d->pressedIndex);
1734  int newPressedPosition = vertical ? d->tabList[d->pressedIndex].rect.top() : d->tabList[d->pressedIndex].rect.left();
1735  int diff = oldPressedPosition - newPressedPosition;
1736  if (isRightToLeft() && !vertical)
1737  diff *= -1;
1738  if (vertical)
1739  d->dragStartPosition.setY(d->dragStartPosition.y() - diff);
1740  else
1741  d->dragStartPosition.setX(d->dragStartPosition.x() - diff);
1742  }
1743 
1744  d->layoutWidgets(start);
1745  update();
1746  emit tabMoved(from, to);
1748 }
double d
Definition: qnumeric_p.h:62
Q_DECL_CONSTEXPR const T & qMin(const T &a, const T &b)
Definition: qglobal.h:1215
void tabMoved(int from, int to)
This signal is emitted when the tab has moved the tab at index position from to index position to...
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
virtual void tabLayoutChange()
This virtual handler is called whenever the tab layout changes.
Definition: qtabbar.cpp:1463
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
void update()
Updates the widget unless updates are disabled or the widget is hidden.
Definition: qwidget.cpp:10883
int width() const
#define emit
Definition: qobjectdefs.h:76
static Bigint * diff(Bigint *a, Bigint *b)
bool isRightToLeft() const
Definition: qwidget.h:428
static const KeyPair *const end
static bool verticalTabs(QTabBar::Shape shape)
Definition: qtabbar.cpp:77
Qt::LayoutDirection direction

◆ paintEvent()

void QTabBar::paintEvent ( QPaintEvent event)
protectedvirtual

This event handler can be reimplemented in a subclass to receive paint events passed in event.

A paint event is a request to repaint all or part of a widget. It can happen for one of the following reasons:

  • repaint() or update() was invoked,
  • the widget was obscured and has now been uncovered, or
  • many other reasons.

Many widgets can simply repaint their entire surface when asked to, but some slow widgets need to optimize by painting only the requested region: QPaintEvent::region(). This speed optimization does not change the result, as painting is clipped to that region during event processing. QListView and QTableView do this, for example.

Qt also tries to speed up painting by merging multiple paint events into one. When update() is called several times or the window system sends several paint events, Qt merges these events into one event with a larger region (see QRegion::united()). The repaint() function does not permit this optimization, so we suggest using update() whenever possible.

When the paint event occurs, the update region has normally been erased, so you are painting on the widget's background.

The background can be set using setBackgroundRole() and setPalette().

Since Qt 4.0, QWidget automatically double-buffers its painting, so there is no need to write double-buffering code in paintEvent() to avoid flicker.

Note for the X11 platform: It is possible to toggle global double buffering by calling qt_x11_set_global_double_buffer(). For example,

Note
Generally, you should refrain from calling update() or repaint() inside a paintEvent(). For example, calling update() or repaint() on children inside a paintevent() results in undefined behavior; the child may or may not get a paint event.
Warning
If you are using a custom paint engine without Qt's backingstore, Qt::WA_PaintOnScreen must be set. Otherwise, QWidget::paintEngine() will never be called; the backingstore will be used instead.
See also
event(), repaint(), update(), QPainter, QPixmap, QPaintEvent, {Analog Clock Example}

Reimplemented from QWidget.

Definition at line 1568 of file qtabbar.cpp.

1569 {
1570  Q_D(QTabBar);
1571 
1572  QStyleOptionTabBarBaseV2 optTabBase;
1573  QTabBarPrivate::initStyleBaseOption(&optTabBase, this, size());
1574 
1575  QStylePainter p(this);
1576  int selected = -1;
1577  int cut = -1;
1578  bool rtl = optTabBase.direction == Qt::RightToLeft;
1579  bool vertical = verticalTabs(d->shape);
1580  QStyleOptionTab cutTab;
1581  selected = d->currentIndex;
1582  if (d->dragInProgress)
1583  selected = d->pressedIndex;
1584 
1585  for (int i = 0; i < d->tabList.count(); ++i)
1586  optTabBase.tabBarRect |= tabRect(i);
1587 
1588  optTabBase.selectedTabRect = tabRect(selected);
1589 
1590  if (d->drawBase)
1591  p.drawPrimitive(QStyle::PE_FrameTabBarBase, optTabBase);
1592 
1593  for (int i = 0; i < d->tabList.count(); ++i) {
1594  QStyleOptionTabV3 tab;
1595  initStyleOption(&tab, i);
1596  if (d->paintWithOffsets && d->tabList[i].dragOffset != 0) {
1597  if (vertical) {
1598  tab.rect.moveTop(tab.rect.y() + d->tabList[i].dragOffset);
1599  } else {
1600  tab.rect.moveLeft(tab.rect.x() + d->tabList[i].dragOffset);
1601  }
1602  }
1603  if (!(tab.state & QStyle::State_Enabled)) {
1605  }
1606  // If this tab is partially obscured, make a note of it so that we can pass the information
1607  // along when we draw the tear.
1608  if (((!vertical && (!rtl && tab.rect.left() < 0)) || (rtl && tab.rect.right() > width()))
1609  || (vertical && tab.rect.top() < 0)) {
1610  cut = i;
1611  cutTab = tab;
1612  }
1613  // Don't bother drawing a tab if the entire tab is outside of the visible tab bar.
1614  if ((!vertical && (tab.rect.right() < 0 || tab.rect.left() > width()))
1615  || (vertical && (tab.rect.bottom() < 0 || tab.rect.top() > height())))
1616  continue;
1617 
1618  optTabBase.tabBarRect |= tab.rect;
1619  if (i == selected)
1620  continue;
1621 
1622  p.drawControl(QStyle::CE_TabBarTab, tab);
1623  }
1624 
1625  // Draw the selected tab last to get it "on top"
1626  if (selected >= 0) {
1627  QStyleOptionTabV3 tab;
1628  initStyleOption(&tab, selected);
1629  if (d->paintWithOffsets && d->tabList[selected].dragOffset != 0) {
1630  if (vertical)
1631  tab.rect.moveTop(tab.rect.y() + d->tabList[selected].dragOffset);
1632  else
1633  tab.rect.moveLeft(tab.rect.x() + d->tabList[selected].dragOffset);
1634  }
1635  if (!d->dragInProgress)
1636  p.drawControl(QStyle::CE_TabBarTab, tab);
1637  else {
1638  int taboverlap = style()->pixelMetric(QStyle::PM_TabBarTabOverlap, 0, this);
1639  d->movingTab->setGeometry(tab.rect.adjusted(-taboverlap, 0, taboverlap, 0));
1640  }
1641  }
1642 
1643  // Only draw the tear indicator if necessary. Most of the time we don't need too.
1644  if (d->leftB->isVisible() && cut >= 0) {
1645  cutTab.rect = rect();
1646  cutTab.rect = style()->subElementRect(QStyle::SE_TabBarTearIndicator, &cutTab, this);
1647  p.drawPrimitive(QStyle::PE_IndicatorTabTear, cutTab);
1648  }
1649 }
double d
Definition: qnumeric_p.h:62
QRect adjusted(int x1, int y1, int x2, int y2) const
Returns a new rectangle with dx1, dy1, dx2 and dy2 added respectively to the existing coordinates of ...
Definition: qrect.h:431
QSize size() const
void moveLeft(int pos)
Moves the rectangle horizontally, leaving the rectangle&#39;s left edge at the given x coordinate...
Definition: qrect.h:350
QStyle::State state
the style flags that are used when drawing the control
Definition: qstyleoption.h:88
virtual int pixelMetric(PixelMetric metric, const QStyleOption *option=0, const QWidget *widget=0) const =0
Returns the value of the given pixel metric.
int left() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:240
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
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
int height() const
QStyle * style() const
Definition: qwidget.cpp:2742
QRect tabBarRect
the rectangle containing all the tabs
Definition: qstyleoption.h:225
void setCurrentColorGroup(ColorGroup cg)
Set the palette&#39;s current color group to cg.
Definition: qpalette.h:105
int width() const
QRect rect() const
The QStyleOptionTabBarBaseV2 class is used to describe the base of a tab bar, i.e.
Definition: qstyleoption.h:235
QPalette palette
the palette that should be used when painting the control
Definition: qstyleoption.h:92
int top() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:243
virtual QRect subElementRect(SubElement subElement, const QStyleOption *option, const QWidget *widget=0) const =0
Returns the sub-area for the given element as described in the provided style option.
int right() const
Returns the x-coordinate of the rectangle&#39;s right edge.
Definition: qrect.h:246
int y() const
Returns the y-coordinate of the rectangle&#39;s top edge.
Definition: qrect.h:255
static void initStyleBaseOption(QStyleOptionTabBarBaseV2 *optTabBase, QTabBar *tabbar, QSize size)
Definition: qtabbar_p.h:208
int x() const
Returns the x-coordinate of the rectangle&#39;s left edge.
Definition: qrect.h:252
QRect selectedTabRect
the rectangle containing the selected tab
Definition: qstyleoption.h:226
void initStyleOption(QStyleOptionTab *option, int tabIndex) const
Initialize option with the values from the tab at tabIndex.
Definition: qtabbar.cpp:130
The QStyleOptionTabV3 class is used to describe the parameters necessary for drawing a tabs in Qt 4...
Definition: qstyleoption.h:347
Qt::LayoutDirection direction
the text layout direction that should be used when drawing text in the control
Definition: qstyleoption.h:89
QRect tabRect(int index) const
Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of ran...
Definition: qtabbar.cpp:1179
The QStyleOptionTab class is used to describe the parameters for drawing a tab bar.
Definition: qstyleoption.h:304
The QStylePainter class is a convenience class for drawing QStyle elements inside a widget...
Definition: qstylepainter.h:55
void moveTop(int pos)
Moves the rectangle vertically, leaving the rectangle&#39;s top edge at the given y coordinate.
Definition: qrect.h:353
QRect rect
the area that should be used for various calculations and painting
Definition: qstyleoption.h:90
static bool verticalTabs(QTabBar::Shape shape)
Definition: qtabbar.cpp:77

◆ removeTab()

void QTabBar::removeTab ( int  index)

Removes the tab at position index.

See also
SelectionBehavior

Definition at line 902 of file qtabbar.cpp.

Referenced by QMainWindowLayout::applyState(), QMdiAreaPrivate::updateActiveWindow(), and QDockAreaLayoutInfo::updateTabBar().

903 {
904  Q_D(QTabBar);
905  if (d->validIndex(index)) {
906 #ifndef QT_NO_SHORTCUT
907  releaseShortcut(d->tabList.at(index).shortcutId);
908 #endif
909  if (d->tabList[index].leftWidget) {
910  d->tabList[index].leftWidget->hide();
911  d->tabList[index].leftWidget->deleteLater();
912  d->tabList[index].leftWidget = 0;
913  }
914  if (d->tabList[index].rightWidget) {
915  d->tabList[index].rightWidget->hide();
916  d->tabList[index].rightWidget->deleteLater();
917  d->tabList[index].rightWidget = 0;
918  }
919 
920  int newIndex = d->tabList[index].lastTab;
921  d->tabList.removeAt(index);
922  for (int i = 0; i < d->tabList.count(); ++i) {
923  if (d->tabList[i].lastTab == index)
924  d->tabList[i].lastTab = -1;
925  if (d->tabList[i].lastTab > index)
926  --d->tabList[i].lastTab;
927  }
928  if (index == d->currentIndex) {
929  // The current tab is going away, in order to make sure
930  // we emit that "current has changed", we need to reset this
931  // around.
932  d->currentIndex = -1;
933  if (d->tabList.size() > 0) {
934  switch(d->selectionBehaviorOnRemove) {
935  case SelectPreviousTab:
936  if (newIndex > index)
937  newIndex--;
938  if (d->validIndex(newIndex))
939  break;
940  // else fallthrough
941  case SelectRightTab:
942  newIndex = index;
943  if (newIndex >= d->tabList.size())
944  newIndex = d->tabList.size() - 1;
945  break;
946  case SelectLeftTab:
947  newIndex = index - 1;
948  if (newIndex < 0)
949  newIndex = 0;
950  break;
951  default:
952  break;
953  }
954 
955  if (d->validIndex(newIndex)) {
956  // don't loose newIndex's old through setCurrentIndex
957  int bump = d->tabList[newIndex].lastTab;
958  setCurrentIndex(newIndex);
959  d->tabList[newIndex].lastTab = bump;
960  }
961  } else {
962  emit currentChanged(-1);
963  }
964  } else if (index < d->currentIndex) {
965  setCurrentIndex(d->currentIndex - 1);
966  }
967  d->refresh();
968  tabRemoved(index);
969  }
970 }
double d
Definition: qnumeric_p.h:62
virtual void tabRemoved(int index)
This virtual handler is called after a tab was removed from position index.
Definition: qtabbar.cpp:1453
void currentChanged(int index)
This signal is emitted when the tab bar&#39;s current tab changes.
void setCurrentIndex(int index)
Definition: qtabbar.cpp:1238
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
void releaseShortcut(int id)
Removes the shortcut with the given id from Qt&#39;s shortcut system.
Definition: qwidget.cpp:11771
#define emit
Definition: qobjectdefs.h:76
quint16 index
int currentIndex() const

◆ resizeEvent()

void QTabBar::resizeEvent ( QResizeEvent )
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1556 of file qtabbar.cpp.

◆ selectionBehaviorOnRemove()

SelectionBehavior QTabBar::selectionBehaviorOnRemove ( ) const

Referenced by setTabsClosable().

◆ setCurrentIndex

void QTabBar::setCurrentIndex ( int  index)
slot

Definition at line 1238 of file qtabbar.cpp.

Referenced by QAccessibleTabBar::doAction(), QMdiAreaPrivate::emitWindowActivated(), event(), insertTab(), mousePressEvent(), mouseReleaseEvent(), removeTab(), QDockAreaLayoutInfo::setCurrentTabId(), QAccessibleTabBar::setSelected(), setTabEnabled(), QMdiAreaPrivate::setViewMode(), and showEvent().

1239 {
1240  Q_D(QTabBar);
1241  if (d->dragInProgress && d->pressedIndex != -1)
1242  return;
1243 
1244  int oldIndex = d->currentIndex;
1245  if (d->validIndex(index) && d->currentIndex != index) {
1246  d->currentIndex = index;
1247  update();
1248  d->makeVisible(index);
1249  d->tabList[index].lastTab = oldIndex;
1250  if (oldIndex >= 0 && oldIndex < count())
1251  d->layoutTab(oldIndex);
1252  d->layoutTab(index);
1253 #ifndef QT_NO_ACCESSIBILITY
1254  if (QAccessible::isActive()) {
1256 
1259  }
1260 #endif
1261 #ifdef QT3_SUPPORT
1262  emit selected(index);
1263 #endif
1265  }
1266 }
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.
void currentChanged(int index)
This signal is emitted when the tab bar&#39;s current tab changes.
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#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
#define emit
Definition: qobjectdefs.h:76
static bool isActive()
Returns true if an accessibility implementation has been requested during the runtime of the applicat...
int count() const
quint16 index

◆ setDocumentMode()

void QTabBar::setDocumentMode ( bool  set)

Definition at line 2325 of file qtabbar.cpp.

Referenced by QMainWindowLayout::getTabBar(), QMdiAreaPrivate::refreshTabBar(), QMainWindowLayout::setDocumentMode(), and QMdiAreaPrivate::setViewMode().

2326 {
2327  Q_D(QTabBar);
2328 
2329  d->documentMode = enabled;
2330  d->updateMacBorderMetrics();
2331 }
double d
Definition: qnumeric_p.h:62
bool enabled
whether the widget is enabled
Definition: qwidget.h:157
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482

◆ setDrawBase()

void QTabBar::setDrawBase ( bool  drawTheBase)

Definition at line 800 of file qtabbar.cpp.

Referenced by QMainWindowLayout::getTabBar(), QTabWidgetPrivate::init(), and QDockAreaLayoutInfo::updateTabBar().

801 {
802  Q_D(QTabBar);
803  if (d->drawBase == drawBase)
804  return;
805  d->drawBase = drawBase;
806  update();
807 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
bool drawBase() const
void update()
Updates the widget unless updates are disabled or the widget is hidden.
Definition: qwidget.cpp:10883

◆ setElideMode()

void QTabBar::setElideMode ( Qt::TextElideMode  mode)

Definition at line 2077 of file qtabbar.cpp.

Referenced by QMainWindowLayout::getTabBar().

2078 {
2079  Q_D(QTabBar);
2080  d->elideMode = mode;
2081  d->elideModeSetByUser = true;
2082  d->refresh();
2083 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482

◆ setExpanding()

void QTabBar::setExpanding ( bool  enabled)

Definition at line 2271 of file qtabbar.cpp.

Referenced by QMainWindowTabBar::QMainWindowTabBar(), and QTabWidget::setTabBar().

2272 {
2273  Q_D(QTabBar);
2274  if (d->expanding == enabled)
2275  return;
2276  d->expanding = enabled;
2277  d->layoutTabs();
2278 }
double d
Definition: qnumeric_p.h:62
bool enabled
whether the widget is enabled
Definition: qwidget.h:157
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482

◆ setIconSize()

void QTabBar::setIconSize ( const QSize size)

Definition at line 1291 of file qtabbar.cpp.

1292 {
1293  Q_D(QTabBar);
1294  d->iconSize = size;
1295  d->layoutDirty = true;
1296  update();
1297  updateGeometry();
1298 }
double d
Definition: qnumeric_p.h:62
QSize size() const
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#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
void updateGeometry()
Notifies the layout system that this widget has changed and may need to change geometry.
Definition: qwidget.cpp:10372

◆ setMovable()

void QTabBar::setMovable ( bool  movable)

Definition at line 2299 of file qtabbar.cpp.

Referenced by QMdiAreaPrivate::refreshTabBar(), QTabWidget::setMovable(), and QMdiAreaPrivate::setViewMode().

2300 {
2301  Q_D(QTabBar);
2302  d->movable = movable;
2303 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
bool movable
This property holds whether the user can move the tabs within the tabbar area.
Definition: qtabbar.h:74

◆ setSelectionBehaviorOnRemove()

void QTabBar::setSelectionBehaviorOnRemove ( QTabBar::SelectionBehavior  behavior)

Definition at line 2246 of file qtabbar.cpp.

2247 {
2248  Q_D(QTabBar);
2249  d->selectionBehaviorOnRemove = behavior;
2250 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482

◆ setShape()

void QTabBar::setShape ( Shape  shape)

Definition at line 778 of file qtabbar.cpp.

Referenced by QMdiAreaPrivate::refreshTabBar(), QDockAreaLayoutInfo::setTabBarShape(), QMdiAreaPrivate::setViewMode(), and QDockAreaLayoutInfo::updateTabBar().

779 {
780  Q_D(QTabBar);
781  if (d->shape == shape)
782  return;
783  d->shape = shape;
784  d->refresh();
785 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
Shape shape() const

◆ setTabButton()

void QTabBar::setTabButton ( int  index,
ButtonPosition  position,
QWidget widget 
)

Sets widget on the tab index.

The widget is placed on the left or right hand side depending upon the position.

Since
4.5

Any previously set widget in position is hidden.

The tab bar will take ownership of the widget and so all widgets set here will be deleted by the tab bar when it is destroyed unless you separately reparent the widget after setting some other widget (or 0).

See also
tabsClosable()

Definition at line 2346 of file qtabbar.cpp.

Referenced by insertTab(), and setTabsClosable().

2347 {
2348  Q_D(QTabBar);
2349  if (index < 0 || index >= d->tabList.count())
2350  return;
2351  if (widget) {
2352  widget->setParent(this);
2353  // make sure our left and right widgets stay on top
2354  widget->lower();
2355  widget->show();
2356  }
2357  if (position == LeftSide) {
2358  if (d->tabList[index].leftWidget)
2359  d->tabList[index].leftWidget->hide();
2360  d->tabList[index].leftWidget = widget;
2361  } else {
2362  if (d->tabList[index].rightWidget)
2363  d->tabList[index].rightWidget->hide();
2364  d->tabList[index].rightWidget = widget;
2365  }
2366  d->layoutTabs();
2367  d->refresh();
2368  update();
2369 }
double d
Definition: qnumeric_p.h:62
void setParent(QWidget *parent)
Sets the parent of the widget to parent, and resets the window flags.
Definition: qwidget.cpp:10479
QPointer< QWidget > widget
static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine anchorLine)
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#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
void lower()
Lowers the widget to the bottom of the parent widget&#39;s stack.
Definition: qwidget.cpp:11939
void show()
Shows the widget and its child widgets.
quint16 index

◆ setTabData()

void QTabBar::setTabData ( int  index,
const QVariant data 
)

Sets the data of the tab at position index to data.

Definition at line 1156 of file qtabbar.cpp.

Referenced by QDockAreaLayoutInfo::updateTabBar().

1157 {
1158  Q_D(QTabBar);
1159  if (QTabBarPrivate::Tab *tab = d->at(index))
1160  tab->data = data;
1161 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ setTabEnabled()

void QTabBar::setTabEnabled ( int  index,
bool  enabled 
)

If enabled is true then the tab at position index is enabled; otherwise the item at position index is disabled.

Definition at line 989 of file qtabbar.cpp.

Referenced by QMdiAreaPrivate::_q_currentTabChanged().

990 {
991  Q_D(QTabBar);
992  if (QTabBarPrivate::Tab *tab = d->at(index)) {
993  tab->enabled = enabled;
994 #ifndef QT_NO_SHORTCUT
995  setShortcutEnabled(tab->shortcutId, enabled);
996 #endif
997  update();
998  if (!enabled && index == d->currentIndex)
999  setCurrentIndex(d->validIndex(index+1)?index+1:0);
1000  else if (enabled && !d->validIndex(d->currentIndex))
1002  }
1003 }
double d
Definition: qnumeric_p.h:62
bool enabled
whether the widget is enabled
Definition: qwidget.h:157
void setCurrentIndex(int index)
Definition: qtabbar.cpp:1238
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#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
void setShortcutEnabled(int id, bool enable=true)
If enable is true, the shortcut with the given id is enabled; otherwise the shortcut is disabled...
Definition: qwidget.cpp:11790
quint16 index

◆ setTabIcon()

void QTabBar::setTabIcon ( int  index,
const QIcon icon 
)

Sets the icon of the tab at position index to icon.

Definition at line 1080 of file qtabbar.cpp.

1081 {
1082  Q_D(QTabBar);
1083  if (QTabBarPrivate::Tab *tab = d->at(index)) {
1084  bool simpleIconChange = (!icon.isNull() && !tab->icon.isNull());
1085  tab->icon = icon;
1086  if (simpleIconChange)
1087  update(tabRect(index));
1088  else
1089  d->refresh();
1090  }
1091 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#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
bool isNull() const
Returns true if the icon is empty; otherwise returns false.
Definition: qicon.cpp:769
QRect tabRect(int index) const
Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of ran...
Definition: qtabbar.cpp:1179
quint16 index

◆ setTabsClosable()

void QTabBar::setTabsClosable ( bool  closable)

Definition at line 2158 of file qtabbar.cpp.

Referenced by QMdiAreaPrivate::refreshTabBar(), QTabWidget::setTabsClosable(), and QMdiAreaPrivate::setViewMode().

2159 {
2160  Q_D(QTabBar);
2161  if (d->closeButtonOnTabs == closable)
2162  return;
2163  d->closeButtonOnTabs = closable;
2165  if (!closable) {
2166  for (int i = 0; i < d->tabList.count(); ++i) {
2167  if (closeSide == LeftSide && d->tabList[i].leftWidget) {
2168  d->tabList[i].leftWidget->deleteLater();
2169  d->tabList[i].leftWidget = 0;
2170  }
2171  if (closeSide == RightSide && d->tabList[i].rightWidget) {
2172  d->tabList[i].rightWidget->deleteLater();
2173  d->tabList[i].rightWidget = 0;
2174  }
2175  }
2176  } else {
2177  bool newButtons = false;
2178  for (int i = 0; i < d->tabList.count(); ++i) {
2179  if (tabButton(i, closeSide))
2180  continue;
2181  newButtons = true;
2182  QAbstractButton *closeButton = new CloseButton(this);
2183  connect(closeButton, SIGNAL(clicked()), this, SLOT(_q_closeTab()));
2184  setTabButton(i, closeSide, closeButton);
2185  }
2186  if (newButtons)
2187  d->layoutTabs();
2188  }
2189  update();
2190 }
The QAbstractButton class is the abstract base class of button widgets, providing functionality commo...
double d
Definition: qnumeric_p.h:62
ButtonPosition
This enum type lists the location of the widget on a tab.
Definition: qtabbar.h:89
#define SLOT(a)
Definition: qobjectdefs.h:226
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...
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
QWidget * tabButton(int index, ButtonPosition position) const
Returns the widget set a tab index and position or 0 if one is not set.
Definition: qtabbar.cpp:2375
#define Q_D(Class)
Definition: qglobal.h:2482
void setTabButton(int index, ButtonPosition position, QWidget *widget)
Sets widget on the tab index.
Definition: qtabbar.cpp:2346
QStyle * style() const
Definition: qwidget.cpp:2742
void update()
Updates the widget unless updates are disabled or the widget is hidden.
Definition: qwidget.cpp:10883
#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

◆ setTabText()

void QTabBar::setTabText ( int  index,
const QString text 
)

Sets the text of the tab at position index to text.

Definition at line 1021 of file qtabbar.cpp.

Referenced by QDockAreaLayoutInfo::updateTabBar().

1022 {
1023  Q_D(QTabBar);
1024  if (QTabBarPrivate::Tab *tab = d->at(index)) {
1025  tab->text = text;
1026 #ifndef QT_NO_SHORTCUT
1027  releaseShortcut(tab->shortcutId);
1028  tab->shortcutId = grabShortcut(QKeySequence::mnemonic(text));
1029  setShortcutEnabled(tab->shortcutId, tab->enabled);
1030 #endif
1031  d->refresh();
1032  }
1033 }
double d
Definition: qnumeric_p.h:62
static QKeySequence mnemonic(const QString &text)
Returns the shortcut key sequence for the mnemonic in text, or an empty key sequence if no mnemonics ...
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
void releaseShortcut(int id)
Removes the shortcut with the given id from Qt&#39;s shortcut system.
Definition: qwidget.cpp:11771
void setShortcutEnabled(int id, bool enable=true)
If enable is true, the shortcut with the given id is enabled; otherwise the shortcut is disabled...
Definition: qwidget.cpp:11790
int grabShortcut(const QKeySequence &key, Qt::ShortcutContext context=Qt::WindowShortcut)
Adds a shortcut to Qt&#39;s shortcut system that watches for the given key sequence in the given context...
Definition: qwidget.cpp:11747
quint16 index
#define text
Definition: qobjectdefs.h:80

◆ setTabTextColor()

void QTabBar::setTabTextColor ( int  index,
const QColor color 
)

Sets the color of the text in the tab with the given index to the specified color.

If an invalid color is specified, the tab will use the QTabBar foreground role instead.

See also
tabTextColor()

Definition at line 1056 of file qtabbar.cpp.

1057 {
1058  Q_D(QTabBar);
1059  if (QTabBarPrivate::Tab *tab = d->at(index)) {
1060  tab->textColor = color;
1061  update(tabRect(index));
1062  }
1063 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#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
QRect tabRect(int index) const
Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of ran...
Definition: qtabbar.cpp:1179
quint16 index

◆ setTabToolTip()

void QTabBar::setTabToolTip ( int  index,
const QString tip 
)

Sets the tool tip of the tab at position index to tip.

Definition at line 1097 of file qtabbar.cpp.

Referenced by QDockAreaLayoutInfo::updateTabBar().

1098 {
1099  Q_D(QTabBar);
1100  if (QTabBarPrivate::Tab *tab = d->at(index))
1101  tab->toolTip = tip;
1102 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ setTabWhatsThis()

void QTabBar::setTabWhatsThis ( int  index,
const QString text 
)

Sets the What's This help text of the tab at position index to text.

Since
4.1

Definition at line 1127 of file qtabbar.cpp.

1128 {
1129  Q_D(QTabBar);
1130  if (QTabBarPrivate::Tab *tab = d->at(index))
1131  tab->whatsThis = text;
1132 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ setUsesScrollButtons()

void QTabBar::setUsesScrollButtons ( bool  useButtons)

Definition at line 2106 of file qtabbar.cpp.

2107 {
2108  Q_D(QTabBar);
2109  d->useScrollButtonsSetByUser = true;
2110  if (d->useScrollButtons == useButtons)
2111  return;
2112  d->useScrollButtons = useButtons;
2113  d->refresh();
2114 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482

◆ shape()

Shape QTabBar::shape ( ) const

◆ showEvent()

void QTabBar::showEvent ( QShowEvent )
protectedvirtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1470 of file qtabbar.cpp.

◆ sizeHint()

QSize QTabBar::sizeHint ( ) const
virtual

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 1317 of file qtabbar.cpp.

Referenced by QMainWindowTabBar::event(), minimumSizeHint(), QDockAreaLayoutInfo::tabBarSizeHint(), and QMdiAreaPrivate::updateTabBarGeometry().

◆ tabAt()

int QTabBar::tabAt ( const QPoint position) const
Since
4.3 Returns the index of the tab that covers position or -1 if no tab covers position;

Definition at line 1203 of file qtabbar.cpp.

Referenced by event(), and mouseMoveEvent().

1204 {
1205  Q_D(const QTabBar);
1206  if (d->validIndex(d->currentIndex)
1207  && tabRect(d->currentIndex).contains(position)) {
1208  return d->currentIndex;
1209  }
1210  const int max = d->tabList.size();
1211  for (int i = 0; i < max; ++i) {
1212  if (tabRect(i).contains(position)) {
1213  return i;
1214  }
1215  }
1216  return -1;
1217 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
bool contains(const QPoint &p, bool proper=false) const
Returns true if the given point is inside or on the edge of the rectangle, otherwise returns false...
Definition: qrect.cpp:1101
QRect tabRect(int index) const
Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of ran...
Definition: qtabbar.cpp:1179

◆ tabButton()

QWidget * QTabBar::tabButton ( int  index,
ButtonPosition  position 
) const

Returns the widget set a tab index and position or 0 if one is not set.

Definition at line 2375 of file qtabbar.cpp.

Referenced by setTabsClosable().

2376 {
2377  Q_D(const QTabBar);
2378  if (index < 0 || index >= d->tabList.count())
2379  return 0;
2380  if (position == LeftSide)
2381  return d->tabList.at(index).leftWidget;
2382  else
2383  return d->tabList.at(index).rightWidget;
2384 }
double d
Definition: qnumeric_p.h:62
static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine anchorLine)
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ tabCloseRequested

void QTabBar::tabCloseRequested ( int  index)
signal

This signal is emitted when the close button on a tab is clicked.

Since
4.5

The index is the index that should be removed.

See also
setTabsClosable()

Referenced by QAccessibleTabBar::doAction().

◆ tabData()

QVariant QTabBar::tabData ( int  index) const

Returns the data of the tab at position index, or a null variant if index is out of range.

Definition at line 1167 of file qtabbar.cpp.

Referenced by QDockAreaLayoutInfo::currentTabId(), QDockAreaLayoutInfo::setCurrentTabId(), and QDockAreaLayoutInfo::updateTabBar().

1168 {
1169  Q_D(const QTabBar);
1170  if (const QTabBarPrivate::Tab *tab = d->at(index))
1171  return tab->data;
1172  return QVariant();
1173 }
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ tabIcon()

QIcon QTabBar::tabIcon ( int  index) const

Returns the icon of the tab at position index, or a null icon if index is out of range.

Definition at line 1069 of file qtabbar.cpp.

1070 {
1071  Q_D(const QTabBar);
1072  if (const QTabBarPrivate::Tab *tab = d->at(index))
1073  return tab->icon;
1074  return QIcon();
1075 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index
The QIcon class provides scalable icons in different modes and states.
Definition: qicon.h:60

◆ tabInserted()

void QTabBar::tabInserted ( int  index)
protectedvirtual

This virtual handler is called after a new tab was added or inserted at position index.

See also
tabRemoved()

Definition at line 1442 of file qtabbar.cpp.

Referenced by insertTab().

1443 {
1444  Q_UNUSED(index)
1445 }
quint16 index
#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

◆ tabLayoutChange()

void QTabBar::tabLayoutChange ( )
protectedvirtual

This virtual handler is called whenever the tab layout changes.

See also
tabRect()em>Reimplemented Function

Definition at line 1463 of file qtabbar.cpp.

Referenced by moveTab().

◆ tabMoved

void QTabBar::tabMoved ( int  from,
int  to 
)
signal

This signal is emitted when the tab has moved the tab at index position from to index position to.

Since
4.5

note: QTabWidget will automatically move the page when this signal is emitted from its tab bar.

See also
moveTab()

Referenced by moveTab().

◆ tabRect()

QRect QTabBar::tabRect ( int  index) const

Returns the visual rectangle of the tab at position index, or a null rectangle if index is out of range.

Definition at line 1179 of file qtabbar.cpp.

Referenced by event(), mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), paintEvent(), QAccessibleTabBar::rect(), setTabIcon(), setTabTextColor(), and tabAt().

1180 {
1181  Q_D(const QTabBar);
1182  if (const QTabBarPrivate::Tab *tab = d->at(index)) {
1183  if (d->layoutDirty)
1184  const_cast<QTabBarPrivate*>(d)->layoutTabs();
1185  QRect r = tab->rect;
1186  if (verticalTabs(d->shape))
1187  r.translate(0, -d->scrollOffset);
1188  else
1189  r.translate(-d->scrollOffset, 0);
1190  if (!verticalTabs(d->shape))
1192  return r;
1193  }
1194  return QRect();
1195 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
QRect rect() const
static QRect visualRect(Qt::LayoutDirection direction, const QRect &boundingRect, const QRect &logicalRect)
Returns the given logicalRectangle converted to screen coordinates based on the specified direction...
Definition: qstyle.cpp:2087
Qt::LayoutDirection layoutDirection() const
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
quint16 index
void translate(int dx, int dy)
Moves the rectangle dx along the x axis and dy along the y axis, relative to the current position...
Definition: qrect.h:312
static bool verticalTabs(QTabBar::Shape shape)
Definition: qtabbar.cpp:77

◆ tabRemoved()

void QTabBar::tabRemoved ( int  index)
protectedvirtual

This virtual handler is called after a tab was removed from position index.

See also
tabInserted()

Definition at line 1453 of file qtabbar.cpp.

Referenced by removeTab().

1454 {
1455  Q_UNUSED(index)
1456 }
quint16 index
#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

◆ tabsClosable()

bool QTabBar::tabsClosable ( ) const

Referenced by setUsesScrollButtons().

◆ tabSizeHint()

QSize QTabBar::tabSizeHint ( int  index) const
protectedvirtual

Returns the size hint for the tab at position index.

Definition at line 1388 of file qtabbar.cpp.

1389 {
1390  //Note: this must match with the computations in QCommonStylePrivate::tabLayout
1391  Q_D(const QTabBar);
1392  if (const QTabBarPrivate::Tab *tab = d->at(index)) {
1393  QStyleOptionTabV3 opt;
1394  initStyleOption(&opt, index);
1395  opt.text = d->tabList.at(index).text;
1396  QSize iconSize = tab->icon.isNull() ? QSize(0, 0) : opt.iconSize;
1397  int hframe = style()->pixelMetric(QStyle::PM_TabBarTabHSpace, &opt, this);
1398  int vframe = style()->pixelMetric(QStyle::PM_TabBarTabVSpace, &opt, this);
1399  const QFontMetrics fm = fontMetrics();
1400 
1401  int maxWidgetHeight = qMax(opt.leftButtonSize.height(), opt.rightButtonSize.height());
1402  int maxWidgetWidth = qMax(opt.leftButtonSize.width(), opt.rightButtonSize.width());
1403 
1404  int widgetWidth = 0;
1405  int widgetHeight = 0;
1406  int padding = 0;
1407  if (!opt.leftButtonSize.isEmpty()) {
1408  padding += 4;
1409  widgetWidth += opt.leftButtonSize.width();
1410  widgetHeight += opt.leftButtonSize.height();
1411  }
1412  if (!opt.rightButtonSize.isEmpty()) {
1413  padding += 4;
1414  widgetWidth += opt.rightButtonSize.width();
1415  widgetHeight += opt.rightButtonSize.height();
1416  }
1417  if (!opt.icon.isNull())
1418  padding += 4;
1419 
1420  QSize csz;
1421  if (verticalTabs(d->shape)) {
1422  csz = QSize( qMax(maxWidgetWidth, qMax(fm.height(), iconSize.height())) + vframe,
1423  fm.size(Qt::TextShowMnemonic, tab->text).width() + iconSize.width() + hframe + widgetHeight + padding);
1424  } else {
1425  csz = QSize(fm.size(Qt::TextShowMnemonic, tab->text).width() + iconSize.width() + hframe
1426  + widgetWidth + padding,
1427  qMax(maxWidgetHeight, qMax(fm.height(), iconSize.height())) + vframe);
1428  }
1429 
1430  QSize retSize = style()->sizeFromContents(QStyle::CT_TabBarTab, &opt, csz, this);
1431  return retSize;
1432  }
1433  return QSize();
1434 }
double d
Definition: qnumeric_p.h:62
The QFontMetrics class provides font metrics information.
Definition: qfontmetrics.h:65
virtual int pixelMetric(PixelMetric metric, const QStyleOption *option=0, const QWidget *widget=0) const =0
Returns the value of the given pixel metric.
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
QStyle * style() const
Definition: qwidget.cpp:2742
int width() const
Returns the width.
Definition: qsize.h:126
QSize size(int flags, const QString &str, int tabstops=0, int *tabarray=0) const
Returns the size in pixels of text.
bool isNull() const
Returns true if the icon is empty; otherwise returns false.
Definition: qicon.cpp:769
QFontMetrics fontMetrics() const
Returns the font metrics for the widget&#39;s current font.
Definition: qwidget.h:984
QSize rightButtonSize
the size for the right widget on the tab.
Definition: qstyleoption.h:353
virtual QSize sizeFromContents(ContentsType ct, const QStyleOption *opt, const QSize &contentsSize, const QWidget *w=0) const =0
Returns the size of the element described by the specified option and type, based on the provided con...
QString text
the text of the tab
Definition: qstyleoption.h:317
QSize iconSize() const
void initStyleOption(QStyleOptionTab *option, int tabIndex) const
Initialize option with the values from the tab at tabIndex.
Definition: qtabbar.cpp:130
The QStyleOptionTabV3 class is used to describe the parameters necessary for drawing a tabs in Qt 4...
Definition: qstyleoption.h:347
int height() const
Returns the height.
Definition: qsize.h:129
quint16 index
QIcon icon
the icon for the tab
Definition: qstyleoption.h:318
bool isNull() const
Returns true if both the width and height is 0; otherwise returns false.
Definition: qsize.h:117
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
bool isEmpty() const
Returns true if either of the width and height is less than or equal to 0; otherwise returns false...
Definition: qsize.h:120
QSize leftButtonSize
the size for the left widget on the tab.
Definition: qstyleoption.h:352
int height() const
Returns the height of the font.
static bool verticalTabs(QTabBar::Shape shape)
Definition: qtabbar.cpp:77

◆ tabText()

QString QTabBar::tabText ( int  index) const

Returns the text of the tab at position index, or an empty string if index is out of range.

Definition at line 1010 of file qtabbar.cpp.

Referenced by QDockAreaLayoutInfo::updateTabBar().

1011 {
1012  Q_D(const QTabBar);
1013  if (const QTabBarPrivate::Tab *tab = d->at(index))
1014  return tab->text;
1015  return QString();
1016 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
The QString class provides a Unicode character string.
Definition: qstring.h:83
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ tabTextColor()

QColor QTabBar::tabTextColor ( int  index) const

Returns the text color of the tab with the given index, or a invalid color if index is out of range.

See also
setTabTextColor()

Definition at line 1041 of file qtabbar.cpp.

1042 {
1043  Q_D(const QTabBar);
1044  if (const QTabBarPrivate::Tab *tab = d->at(index))
1045  return tab->textColor;
1046  return QColor();
1047 }
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition: qcolor.h:67
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ tabToolTip()

QString QTabBar::tabToolTip ( int  index) const

Returns the tool tip of the tab at position index, or an empty string if index is out of range.

Definition at line 1108 of file qtabbar.cpp.

1109 {
1110  Q_D(const QTabBar);
1111  if (const QTabBarPrivate::Tab *tab = d->at(index))
1112  return tab->toolTip;
1113  return QString();
1114 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
The QString class provides a Unicode character string.
Definition: qstring.h:83
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ tabWhatsThis()

QString QTabBar::tabWhatsThis ( int  index) const

Returns the What's This help text of the tab at position index, or an empty string if index is out of range.

Since
4.1

Definition at line 1143 of file qtabbar.cpp.

1144 {
1145  Q_D(const QTabBar);
1146  if (const QTabBarPrivate::Tab *tab = d->at(index))
1147  return tab->whatsThis;
1148  return QString();
1149 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
The QString class provides a Unicode character string.
Definition: qstring.h:83
#define Q_D(Class)
Definition: qglobal.h:2482
quint16 index

◆ usesScrollButtons()

bool QTabBar::usesScrollButtons ( ) const

Referenced by setElideMode().

◆ wheelEvent()

void QTabBar::wheelEvent ( QWheelEvent event)
protectedvirtual

This event handler, for event event, can be reimplemented in a subclass to receive wheel events for the widget.

If you reimplement this handler, it is very important that you ignore() the event if you do not handle it, so that the widget's parent can interpret it.

The default implementation ignores the event.

See also
QWheelEvent::ignore(), QWheelEvent::accept(), event(), QWheelEvent

Reimplemented from QWidget.

Definition at line 2018 of file qtabbar.cpp.

2019 {
2020  Q_D(QTabBar);
2021  int offset = event->delta() > 0 ? -1 : 1;
2022  d->setCurrentNextEnabledIndex(offset);
2023  QWidget::wheelEvent(event);
2024 }
double d
Definition: qnumeric_p.h:62
The QTabBar class provides a tab bar, e.g.
Definition: qtabbar.h:59
#define Q_D(Class)
Definition: qglobal.h:2482
virtual void wheelEvent(QWheelEvent *)
This event handler, for event event, can be reimplemented in a subclass to receive wheel events for t...
Definition: qwidget.cpp:9326

Friends and Related Functions

◆ QAccessibleTabBar

friend class QAccessibleTabBar
friend

Definition at line 212 of file qtabbar.h.

Properties

◆ count

int QTabBar::count
private

◆ currentIndex

int QTabBar::currentIndex
private

the index of the tab bar's visible tab

The current index is -1 if there is no current tab.

Definition at line 65 of file qtabbar.h.

Referenced by QDockAreaLayoutInfo::currentTabId(), QAccessibleTabBar::selection(), and QAccessibleTabBar::state().

◆ documentMode

bool QTabBar::documentMode
private

Whether or not the tab bar is rendered in a mode suitable for the main window.

Since
4.5

This property is used as a hint for styles to draw the tabs in a different way then they would normally look in a tab widget. On Mac OS X this will look similar to the tabs in Safari or Leopard's Terminal.app.

See also
QTabWidget::documentMode

Definition at line 75 of file qtabbar.h.

Referenced by QTabBarPrivate::initStyleBaseOption().

◆ drawBase

bool QTabBar::drawBase
private

defines whether or not tab bar should draw its base.

If true then QTabBar draws a base in relation to the styles overlab. Otherwise only the tabs are drawn.

See also
QStyle::pixelMetric() QStyle::PM_TabBarBaseOverlap QStyleOptionTabBarBaseV2

Definition at line 67 of file qtabbar.h.

◆ elideMode

Qt::TextElideMode QTabBar::elideMode
private

how to elide text in the tab bar

Since
4.2

This property controls how items are elided when there is not enough space to show them for a given tab bar size.

By default the value is style dependent.

See also
QTabWidget::elideMode usesScrollButtons QStyle::SH_TabBar_ElideMode

Definition at line 69 of file qtabbar.h.

◆ expanding

bool QTabBar::expanding
private

When expanding is true QTabBar will expand the tabs to use the empty space.

Since
4.5

By default the value is true.

See also
QTabWidget::documentMode

Definition at line 73 of file qtabbar.h.

◆ iconSize

QSize QTabBar::iconSize
private

The size for icons in the tab bar.

Since
4.1

The default value is style-dependent. iconSize is a maximum size; icons that are smaller are not scaled up.

See also
QTabWidget::iconSize

Definition at line 68 of file qtabbar.h.

◆ movable

QTabBar::movable
private

This property holds whether the user can move the tabs within the tabbar area.

Since
4.5

By default, this property is false;

Definition at line 74 of file qtabbar.h.

Referenced by QTabBarPrivate::moveTabFinished(), and setMovable().

◆ selectionBehaviorOnRemove

QTabBar::SelectionBehavior QTabBar::selectionBehaviorOnRemove
private

What tab should be set as current when removeTab is called if the removed tab is also the current tab.

Since
4.5

By default the value is SelectRightTab.

See also
removeTab()

Definition at line 72 of file qtabbar.h.

◆ shape

QTabBar::Shape QTabBar::shape
private

the shape of the tabs in the tab bar

Possible values for this property are described by the Shape enum.

Definition at line 64 of file qtabbar.h.

Referenced by QTabBarPrivate::initStyleBaseOption().

◆ tabsClosable

bool QTabBar::tabsClosable
private

Whether or not a tab bar should place close buttons on each tab.

Since
4.5

When tabsClosable is set to true a close button will appear on the tab on either the left or right hand side depending upon the style. When the button is clicked the tab the signal tabCloseRequested will be emitted.

By default the value is false.

See also
setTabButton(), tabRemoved()

Definition at line 71 of file qtabbar.h.

Referenced by QAccessibleTabBar::actionText(), QTabWidget::setTabPosition(), and QAccessibleTabBar::userActionCount().

◆ usesScrollButtons

bool QTabBar::usesScrollButtons
private

Whether or not a tab bar should use buttons to scroll tabs when it has many tabs.

Since
4.2

When there are too many tabs in a tab bar for its size, the tab bar can either choose to expand its size or to add buttons that allow you to scroll through the tabs.

By default the value is style dependant.

See also
elideMode QTabWidget::usesScrollButtons QStyle::SH_TabBar_PreferNoArrows

Definition at line 70 of file qtabbar.h.


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