Qt 4.8
Public Functions | Protected Functions | Friends | List of all members
QScrollBar Class Reference

The QScrollBar widget provides a vertical or horizontal scroll bar. More...

#include <qscrollbar.h>

Inheritance diagram for QScrollBar:
QAbstractSlider QWidget QObject QPaintDevice

Public Functions

bool event (QEvent *event)
 Reimplemented Function More...
 
 QScrollBar (QWidget *parent=0)
 Constructs a vertical scroll bar. More...
 
 QScrollBar (Qt::Orientation, QWidget *parent=0)
 Constructs a scroll bar with the given orientation. More...
 
QSize sizeHint () const
 Reimplemented Function More...
 
 ~QScrollBar ()
 Destroys the scroll bar. More...
 
- Public Functions inherited from QAbstractSlider
bool hasTracking () const
 
bool invertedAppearance () const
 
bool invertedControls () const
 
bool isSliderDown () const
 
int maximum () const
 
int minimum () const
 
Qt::Orientation orientation () const
 
int pageStep () const
 
 QAbstractSlider (QWidget *parent=0)
 Constructs an abstract slider. More...
 
void setInvertedAppearance (bool)
 
void setInvertedControls (bool)
 
void setMaximum (int)
 
void setMinimum (int)
 
void setPageStep (int)
 
void setRange (int min, int max)
 Sets the slider's minimum to min and its maximum to max. More...
 
void setSingleStep (int)
 
void setSliderDown (bool)
 
void setSliderPosition (int)
 
void setTracking (bool enable)
 
int singleStep () const
 
int sliderPosition () const
 
void triggerAction (SliderAction action)
 Triggers a slider action. More...
 
int value () const
 
 ~QAbstractSlider ()
 Destroys the slider. 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
 
virtual QSize minimumSizeHint () 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 contextMenuEvent (QContextMenuEvent *)
 Reimplemented Function More...
 
void hideEvent (QHideEvent *)
 Reimplemented Function More...
 
void initStyleOption (QStyleOptionSlider *option) const
 Initialize option with the values from this QScrollBar. More...
 
void mouseMoveEvent (QMouseEvent *)
 Reimplemented Function More...
 
void mousePressEvent (QMouseEvent *)
 Reimplemented Function More...
 
void mouseReleaseEvent (QMouseEvent *)
 Reimplemented Function More...
 
void paintEvent (QPaintEvent *)
 Reimplemented Function More...
 
void sliderChange (SliderChange change)
 Reimplement this virtual function to track slider changes such as SliderRangeChange , SliderOrientationChange , SliderStepsChange , or SliderValueChange . More...
 
- Protected Functions inherited from QAbstractSlider
void changeEvent (QEvent *e)
 Reimplemented Function More...
 
void keyPressEvent (QKeyEvent *ev)
 Reimplemented Function More...
 
 QAbstractSlider (QAbstractSliderPrivate &dd, QWidget *parent=0)
 
SliderAction repeatAction () const
 Returns the current repeat action. More...
 
void setRepeatAction (SliderAction action, int thresholdTime=500, int repeatTime=50)
 Sets action action to be triggered repetitively in intervals of repeatTime, after an initial delay of thresholdTime. More...
 
void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
void wheelEvent (QWheelEvent *e)
 Reimplemented Function 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...
 
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 resizeEvent (QResizeEvent *)
 This event handler can be reimplemented in a subclass to receive widget resize events which are passed in the event parameter. More...
 
virtual void showEvent (QShowEvent *)
 This event handler can be reimplemented in a subclass to receive widget show events which are passed in the event parameter. More...
 
virtual void styleChange (QStyle &)
 
virtual void tabletEvent (QTabletEvent *)
 This event handler, for event event, can be reimplemented in a subclass to receive tablet events for the widget. More...
 
virtual void windowActivationChange (bool)
 
virtual bool winEvent (MSG *message, long *result)
 This special event handler can be reimplemented in a subclass to receive native Windows events which are passed in the message parameter. More...
 
virtual bool x11Event (XEvent *)
 This special event handler can be reimplemented in a subclass to receive native X11 events passed in the event parameter. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
- Protected Functions inherited from QPaintDevice
 QPaintDevice ()
 

Friends

Q_GUI_EXPORT QStyleOptionSlider qt_qscrollbarStyleOption (QScrollBar *scrollBar)
 Returns the style option for scroll bar. More...
 

Additional Inherited Members

- Public Types inherited from QAbstractSlider
enum  SliderAction {
  SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd,
  SliderPageStepSub, SliderToMinimum, SliderToMaximum, SliderMove
}
 
- 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 inherited from QAbstractSlider
void setOrientation (Qt::Orientation)
 
void setValue (int)
 
- 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 inherited from QAbstractSlider
void actionTriggered (int action)
 This signal is emitted when the slider action action is triggered. More...
 
void rangeChanged (int min, int max)
 This signal is emitted when the slider range has changed, with min being the new minimum, and max being the new maximum. More...
 
void sliderMoved (int position)
 This signal is emitted when sliderDown is true and the slider moves. More...
 
void sliderPressed ()
 This signal is emitted when the user presses the slider with the mouse, or programmatically when setSliderDown(true) is called. More...
 
void sliderReleased ()
 This signal is emitted when the user releases the slider with the mouse, or programmatically when setSliderDown(false) is called. More...
 
void valueChanged (int value)
 This signal is emitted when the slider value has changed, with the new slider value as argument. More...
 
- Signals inherited from QWidget
void customContextMenuRequested (const QPoint &pos)
 This signal is emitted when the widget's contextMenuPolicy is Qt::CustomContextMenu, and the user has requested a context menu on the widget. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Functions inherited from QWidget
static QWidgetfind (WId)
 Returns a pointer to the widget with window identifer/handle id. More...
 
static QWidgetkeyboardGrabber ()
 Returns the widget that is currently grabbing the keyboard input. More...
 
static QWidgetmouseGrabber ()
 Returns the widget that is currently grabbing the mouse input. More...
 
static void setTabOrder (QWidget *, QWidget *)
 Puts the second widget after the first widget in the focus order. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Functions inherited from QPaintDevice
static QWSDisplayqwsDisplay ()
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Types inherited from QAbstractSlider
enum  SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange }
 
- 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 QScrollBar widget provides a vertical or horizontal scroll bar.

A scroll bar is a control that enables the user to access parts of a document that is larger than the widget used to display it. It provides a visual indication of the user's current position within the document and the amount of the document that is visible. Scroll bars are usually equipped with other controls that enable more accurate navigation. Qt displays scroll bars in a way that is appropriate for each platform.

If you need to provide a scrolling view onto another widget, it may be more convenient to use the QScrollArea class because this provides a viewport widget and scroll bars. QScrollBar is useful if you need to implement similar functionality for specialized widgets using QAbstractScrollArea; for example, if you decide to subclass QAbstractItemView. For most other situations where a slider control is used to obtain a value within a given range, the QSlider class may be more appropriate for your needs.

qscrollbar-picture.png

Scroll bars typically include four separate controls: a slider, scroll arrows, and a page control.

a. The slider provides a way to quickly go to any part of the document, but does not support accurate navigation within large documents. b. The scroll arrows are push buttons which can be used to accurately navigate to a particular place in a document. For a vertical scroll bar connected to a text editor, these typically move the current position one "line" up or down, and adjust the position of the slider by a small amount. In editors and list boxes a "line" might mean one line of text; in an image viewer it might mean 20 pixels. c. The page control is the area over which the slider is dragged (the scroll bar's background). Clicking here moves the scroll bar towards the click by one "page". This value is usually the same as the length of the slider.

Each scroll bar has a value that indicates how far the slider is from the start of the scroll bar; this is obtained with value() and set with setValue(). This value always lies within the range of values defined for the scroll bar, from minimum() to maximum() inclusive. The range of acceptable values can be set with setMinimum() and setMaximum(). At the minimum value, the top edge of the slider (for a vertical scroll bar) or left edge (for a horizontal scroll bar) will be at the top (or left) end of the scroll bar. At the maximum value, the bottom (or right) edge of the slider will be at the bottom (or right) end of the scroll bar.

The length of the slider is usually related to the value of the page step, and typically represents the proportion of the document area shown in a scrolling view. The page step is the amount that the value changes by when the user presses the Page Up and Page Down keys, and is set with setPageStep(). Smaller changes to the value defined by the line step are made using the cursor keys, and this quantity is set with QAbstractSlider::setSingleStep().

Note that the range of values used is independent of the actual size of the scroll bar widget. You do not need to take this into account when you choose values for the range and the page step.

The range of values specified for the scroll bar are often determined differently to those for a QSlider because the length of the slider needs to be taken into account. If we have a document with 100 lines, and we can only show 20 lines in a widget, we may wish to construct a scroll bar with a page step of 20, a minimum value of 0, and a maximum value of 80. This would give us a scroll bar with five "pages".

qscrollbar-values.png
The relationship between a document length, the range of values used in a scroll bar, and the page step is simple in many common situations. The scroll bar's range of values is determined by subtracting a chosen page step from some value representing the length of the document. In such cases, the following equation is useful: document length = maximum() - minimum() + pageStep().

QScrollBar only provides integer ranges. Note that although QScrollBar handles very large numbers, scroll bars on current screens cannot usefully represent ranges above about 100,000 pixels. Beyond that, it becomes difficult for the user to control the slider using either the keyboard or the mouse, and the scroll arrows will have limited use.

ScrollBar inherits a comprehensive set of signals from QAbstractSlider:

A scroll bar can be controlled by the keyboard, but it has a default focusPolicy() of Qt::NoFocus. Use setFocusPolicy() to enable keyboard interaction with the scroll bar:

The slider itself can be controlled by using the triggerAction() function to simulate user interaction with the scroll bar controls. This is useful if you have many different widgets that use a common range of values.

Most GUI styles use the pageStep() value to calculate the size of the slider.

macintosh-horizontalscrollbar.png
Screenshot of a Macintosh style scroll bar
A scroll bar shown in the Macintosh Style Widget Gallery{Macintosh widget style}.
windowsxp-horizontalscrollbar.png
Screenshot of a Windows XP style scroll bar
A scroll bar shown in the Windows XP Style Widget Gallery{Windows XP widget style}.
plastique-horizontalscrollbar.png
Screenshot of a Plastique style scroll bar
A scroll bar shown in the Plastique Style Widget Gallery{Plastique widget style}.
See also
QScrollArea, QSlider, QDial, QSpinBox, {fowler}{GUI Design Handbook: Scroll Bar}, {Sliders Example}

Definition at line 59 of file qscrollbar.h.

Constructors and Destructors

◆ QScrollBar() [1/2]

QScrollBar::QScrollBar ( QWidget parent = 0)
explicit

Constructs a vertical scroll bar.

The parent argument is sent to the QWidget constructor.

The QAbstractSlider::minimum {minimum} defaults to 0, the QAbstractSlider::maximum {maximum} to 99, with a QAbstractSlider::singleStep {singleStep} size of 1 and a QAbstractSlider::pageStep {pageStep} size of 10, and an initial QAbstractSlider::value {value} of 0.

Definition at line 344 of file qscrollbar.cpp.

Referenced by QScrollBar().

345  : QAbstractSlider(*new QScrollBarPrivate, parent)
346 {
347  d_func()->orientation = Qt::Vertical;
348  d_func()->init();
349 }
QAbstractSlider(QWidget *parent=0)
Constructs an abstract slider.

◆ QScrollBar() [2/2]

QScrollBar::QScrollBar ( Qt::Orientation  orientation,
QWidget parent = 0 
)
explicit

Constructs a scroll bar with the given orientation.

The parent argument is passed to the QWidget constructor.

The QAbstractSlider::minimum {minimum} defaults to 0, the QAbstractSlider::maximum {maximum} to 99, with a QAbstractSlider::singleStep {singleStep} size of 1 and a QAbstractSlider::pageStep {pageStep} size of 10, and an initial QAbstractSlider::value {value} of 0.

Definition at line 362 of file qscrollbar.cpp.

363  : QAbstractSlider(*new QScrollBarPrivate, parent)
364 {
365  d_func()->orientation = orientation;
366  d_func()->init();
367 }
QAbstractSlider(QWidget *parent=0)
Constructs an abstract slider.
Qt::Orientation orientation() const

◆ ~QScrollBar()

QScrollBar::~QScrollBar ( )

Destroys the scroll bar.

Definition at line 419 of file qscrollbar.cpp.

420 {
421 }

Functions

◆ contextMenuEvent()

void QScrollBar::contextMenuEvent ( QContextMenuEvent event)
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 446 of file qscrollbar.cpp.

447 {
450  return ;
451  }
452 
453 #ifndef QT_NO_MENU
454  bool horiz = HORIZONTAL;
455  QPointer<QMenu> menu = new QMenu(this);
456  QAction *actScrollHere = menu->addAction(tr("Scroll here"));
457  menu->addSeparator();
458  QAction *actScrollTop = menu->addAction(horiz ? tr("Left edge") : tr("Top"));
459  QAction *actScrollBottom = menu->addAction(horiz ? tr("Right edge") : tr("Bottom"));
460  menu->addSeparator();
461  QAction *actPageUp = menu->addAction(horiz ? tr("Page left") : tr("Page up"));
462  QAction *actPageDn = menu->addAction(horiz ? tr("Page right") : tr("Page down"));
463  menu->addSeparator();
464  QAction *actScrollUp = menu->addAction(horiz ? tr("Scroll left") : tr("Scroll up"));
465  QAction *actScrollDn = menu->addAction(horiz ? tr("Scroll right") : tr("Scroll down"));
466  QAction *actionSelected = menu->exec(event->globalPos());
467  delete menu;
468  if (actionSelected == 0)
469  /* do nothing */ ;
470  else if (actionSelected == actScrollHere)
471  setValue(d_func()->pixelPosToRangeValue(horiz ? event->pos().x() : event->pos().y()));
472  else if (actionSelected == actScrollTop)
474  else if (actionSelected == actScrollBottom)
476  else if (actionSelected == actPageUp)
478  else if (actionSelected == actPageDn)
480  else if (actionSelected == actScrollUp)
482  else if (actionSelected == actScrollDn)
484 #endif // QT_NO_MENU
485 }
const QPoint & pos() const
Returns the position of the mouse pointer relative to the widget that received the event...
Definition: qevent.h:412
void triggerAction(SliderAction action)
Triggers a slider action.
static QString tr(const char *sourceText, const char *comment=0, int n=-1)
QAction * addAction(const QString &text)
This convenience function creates a new action with text.
Definition: qmenu.cpp:1453
QStyle * style() const
Definition: qwidget.cpp:2742
const char * styleHint(const QFontDef &request)
QAction * addSeparator()
This convenience function creates a new separator action, i.e.
Definition: qmenu.cpp:1583
QAction * exec()
Executes this menu synchronously.
Definition: qmenu.cpp:2101
virtual void contextMenuEvent(QContextMenuEvent *)
This event handler, for event event, can be reimplemented in a subclass to receive widget context men...
Definition: qwidget.cpp:9645
The QMenu class provides a menu widget for use in menu bars, context menus, and other popup menus...
Definition: qmenu.h:72
return(isPopup||isToolTip)
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128
const QPoint & globalPos() const
Returns the global position of the mouse pointer at the time of the event.
Definition: qevent.h:413
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64
#define HORIZONTAL
Definition: qscrollbar.cpp:330

◆ event()

bool QScrollBar::event ( QEvent event)
virtual

Reimplemented Function

Reimplemented from QAbstractSlider.

Definition at line 517 of file qscrollbar.cpp.

518 {
519  switch(event->type()) {
520  case QEvent::HoverEnter:
521  case QEvent::HoverLeave:
522  case QEvent::HoverMove:
523  if (const QHoverEvent *he = static_cast<const QHoverEvent *>(event))
524  d_func()->updateHoverControl(he->pos());
525  break;
526 #ifndef QT_NO_WHEELEVENT
527  case QEvent::Wheel: {
528  event->ignore();
529  // override wheel event without adding virtual function override
530  if (!isEnabled()) // don't scroll when disabled [QTBUG-27308]
531  return false; // normally prevented in QWidget::event()
532  QWheelEvent *ev = static_cast<QWheelEvent *>(event);
533  int delta = ev->delta();
534  // scrollbar is a special case - in vertical mode it reaches minimum
535  // value in the upper position, however QSlider's minimum value is on
536  // the bottom. So we need to invert a value, but since the scrollbar is
537  // inverted by default, we need to inverse the delta value for the
538  // horizontal orientation.
539  if (ev->orientation() == Qt::Horizontal)
540  delta = -delta;
541  Q_D(QScrollBar);
542  if (d->scrollByDelta(ev->orientation(), ev->modifiers(), delta))
543  event->accept();
544  return true;
545  }
546 #endif
547  default:
548  break;
549  }
550  return QAbstractSlider::event(event);
551 }
double d
Definition: qnumeric_p.h:62
bool event(QEvent *e)
Reimplemented Function
The QWheelEvent class contains parameters that describe a wheel event.
Definition: qevent.h:139
The QHoverEvent class contains parameters that describe a mouse event.
Definition: qevent.h:125
bool event(QEvent *event)
Reimplemented Function
Definition: qscrollbar.cpp:517
#define Q_D(Class)
Definition: qglobal.h:2482
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
int delta() const
Returns the distance that the wheel is rotated, in eighths of a degree.
Definition: qevent.h:150
Qt::Orientation orientation() const
Returns the wheel&#39;s orientation.
Definition: qevent.h:159
bool isEnabled() const
Definition: qwidget.h:948
Qt::KeyboardModifiers modifiers() const
Returns the keyboard modifier flags that existed immediately before the event occurred.
Definition: qevent.h:79
Type type() const
Returns the event type.
Definition: qcoreevent.h:303

◆ hideEvent()

void QScrollBar::hideEvent ( QHideEvent )
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 742 of file qscrollbar.cpp.

743 {
744  Q_D(QScrollBar);
745  if (d->pressedControl) {
746  d->pressedControl = QStyle::SC_None;
748  }
749 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
void setRepeatAction(SliderAction action, int thresholdTime=500, int repeatTime=50)
Sets action action to be triggered repetitively in intervals of repeatTime, after an initial delay of...

◆ initStyleOption()

void QScrollBar::initStyleOption ( QStyleOptionSlider option) const
protected

Initialize option with the values from this QScrollBar.

This method is useful for subclasses when they need a QStyleOptionSlider, but don't want to fill in all the information themselves.

See also
QStyleOption::initFrom()

Definition at line 308 of file qscrollbar.cpp.

Referenced by mouseMoveEvent(), mousePressEvent(), paintEvent(), qt_qscrollbarStyleOption(), and sizeHint().

309 {
310  if (!option)
311  return;
312 
313  Q_D(const QScrollBar);
314  option->initFrom(this);
315  option->subControls = QStyle::SC_None;
317  option->orientation = d->orientation;
318  option->minimum = d->minimum;
319  option->maximum = d->maximum;
320  option->sliderPosition = d->position;
321  option->sliderValue = d->value;
322  option->singleStep = d->singleStep;
323  option->pageStep = d->pageStep;
324  option->upsideDown = d->invertedAppearance;
325  if (d->orientation == Qt::Horizontal)
326  option->state |= QStyle::State_Horizontal;
327 }
double d
Definition: qnumeric_p.h:62
int sliderValue
the value of the slider
Definition: qstyleoption.h:714
QStyle::State state
the style flags that are used when drawing the control
Definition: qstyleoption.h:88
QStyle::SubControls activeSubControls
This variable holds a bitwise OR of the sub-controls that are active for the complex control...
Definition: qstyleoption.h:694
#define Q_D(Class)
Definition: qglobal.h:2482
bool upsideDown
the slider control orientation
Definition: qstyleoption.h:712
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
void initFrom(const QWidget *w)
Definition: qstyleoption.h:99
int sliderPosition
the position of the slider handle
Definition: qstyleoption.h:713
int maximum
the maximum value for the slider
Definition: qstyleoption.h:709
int minimum
the minimum value for the slider
Definition: qstyleoption.h:708
Qt::Orientation orientation
the slider&#39;s orientation (horizontal or vertical)
Definition: qstyleoption.h:707
int pageStep
the size of the page step of the slider
Definition: qstyleoption.h:716
int singleStep
the size of the single step of the slider
Definition: qstyleoption.h:715
QStyle::SubControls subControls
This variable holds a bitwise OR of the sub-controls to be drawn for the complex control.
Definition: qstyleoption.h:693

◆ mouseMoveEvent()

void QScrollBar::mouseMoveEvent ( QMouseEvent e)
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 655 of file qscrollbar.cpp.

656 {
657  Q_D(QScrollBar);
658  if (!d->pressedControl)
659  return;
660 
661  QStyleOptionSlider opt;
662  initStyleOption(&opt);
663  if (!(e->buttons() & Qt::LeftButton
664  || ((e->buttons() & Qt::MidButton)
666  return;
667 
668  if (d->pressedControl == QStyle::SC_ScrollBarSlider) {
669  QPoint click = e->pos();
670  int newPosition = d->pixelPosToRangeValue((HORIZONTAL ? click.x() : click.y()) -d->clickOffset);
671  int m = style()->pixelMetric(QStyle::PM_MaximumDragDistance, &opt, this);
672  if (m >= 0) {
673  QRect r = rect();
674  r.adjust(-m, -m, m, m);
675  if (! r.contains(e->pos()))
676  newPosition = d->snapBackPosition;
677  }
678  setSliderPosition(newPosition);
680 
682  && d->pressedControl & (QStyle::SC_ScrollBarAddLine | QStyle::SC_ScrollBarSubLine)) {
684  if (newSc == d->pressedControl && !d->pointerOutsidePressedControl)
685  return; // nothing to do
687  d->pointerOutsidePressedControl = false;
688  QRect scRect = style()->subControlRect(QStyle::CC_ScrollBar, &opt, newSc, this);
689  scRect |= style()->subControlRect(QStyle::CC_ScrollBar, &opt, d->pressedControl, this);
690  d->pressedControl = newSc;
691  d->activateControl(d->pressedControl, 0);
692  update(scRect);
693  return;
694  }
695  }
696 
697  // stop scrolling when the mouse pointer leaves a control
698  // similar to push buttons
699  QRect pr = style()->subControlRect(QStyle::CC_ScrollBar, &opt, d->pressedControl, this);
700  if (pr.contains(e->pos()) == d->pointerOutsidePressedControl) {
701  if ((d->pointerOutsidePressedControl = !d->pointerOutsidePressedControl)) {
702  d->pointerOutsidePressedControl = true;
704  repaint(pr);
705  } else {
706  d->activateControl(d->pressedControl);
707  }
708  }
709  }
710 }
double d
Definition: qnumeric_p.h:62
SubControl
This enum describes the available sub controls.
Definition: qstyle.h:402
virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget=0) const =0
Returns the rectangle containing the specified subControl of the given complex control (with the styl...
virtual int pixelMetric(PixelMetric metric, const QStyleOption *option=0, const QWidget *widget=0) const =0
Returns the value of the given pixel metric.
void initStyleOption(QStyleOptionSlider *option) const
Initialize option with the values from this QScrollBar.
Definition: qscrollbar.cpp:308
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...
#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
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
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
void adjust(int x1, int y1, int x2, int y2)
Adds dx1, dy1, dx2 and dy2 respectively to the existing coordinates of the rectangle.
Definition: qrect.h:434
const char * styleHint(const QFontDef &request)
QRect rect() const
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
void repaint()
Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the ...
Definition: qwidget.cpp:10761
Qt::MouseButtons buttons() const
Returns the button state when the event was generated.
Definition: qevent.h:102
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
void setSliderPosition(int)
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
virtual SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, const QPoint &pt, const QWidget *widget=0) const =0
Returns the sub control at the given position in the given complex control (with the style options sp...
int y() const
Returns the y coordinate of this point.
Definition: qpoint.h:131
The QStyleOptionSlider class is used to describe the parameters needed for drawing a slider...
Definition: qstyleoption.h:701
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128
void setRepeatAction(SliderAction action, int thresholdTime=500, int repeatTime=50)
Sets action action to be triggered repetitively in intervals of repeatTime, after an initial delay of...
#define HORIZONTAL
Definition: qscrollbar.cpp:330

◆ mousePressEvent()

void QScrollBar::mousePressEvent ( QMouseEvent e)
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 576 of file qscrollbar.cpp.

577 {
578  Q_D(QScrollBar);
579 
580  if (d->repeatActionTimer.isActive())
581  d->stopRepeatAction();
582 
584  0, this);
585  QStyleOptionSlider opt;
586  initStyleOption(&opt);
587 
588  if (d->maximum == d->minimum // no range
589  || (e->buttons() & (~e->button())) // another button was clicked before
590  || !(e->button() == Qt::LeftButton || (midButtonAbsPos && e->button() == Qt::MidButton)))
591  return;
592 
593  d->pressedControl = style()->hitTestComplexControl(QStyle::CC_ScrollBar, &opt, e->pos(), this);
594  d->pointerOutsidePressedControl = false;
595 
598  QPoint click = e->pos();
599  QPoint pressValue = click - sr.center() + sr.topLeft();
600  d->pressValue = d->orientation == Qt::Horizontal ? d->pixelPosToRangeValue(pressValue.x()) :
601  d->pixelPosToRangeValue(pressValue.y());
602  if (d->pressedControl == QStyle::SC_ScrollBarSlider) {
603  d->clickOffset = HORIZONTAL ? (click.x()-sr.x()) : (click.y()-sr.y());
604  d->snapBackPosition = d->position;
605  }
606 
607  if ((d->pressedControl == QStyle::SC_ScrollBarAddPage
608  || d->pressedControl == QStyle::SC_ScrollBarSubPage)
609  && ((midButtonAbsPos && e->button() == Qt::MidButton)
611  && e->button() == Qt::LeftButton))) {
612  int sliderLength = HORIZONTAL ? sr.width() : sr.height();
613  setSliderPosition(d->pixelPosToRangeValue((HORIZONTAL ? e->pos().x()
614  : e->pos().y()) - sliderLength / 2));
615  d->pressedControl = QStyle::SC_ScrollBarSlider;
616  d->clickOffset = sliderLength / 2;
617  }
618  const int initialDelay = 500; // default threshold
619  d->activateControl(d->pressedControl, initialDelay);
620  QElapsedTimer time;
621  time.start();
622  repaint(style()->subControlRect(QStyle::CC_ScrollBar, &opt, d->pressedControl, this));
623  if (time.elapsed() >= initialDelay && d->repeatActionTimer.isActive()) {
624  // It took more than 500ms (the initial timer delay) to process the repaint(), we
625  // therefore need to restart the timer in case we have a pending mouse release event;
626  // otherwise we'll get a timer event right before the release event,
627  // causing the repeat action to be invoked twice on a single mouse click.
628  // 50ms is the default repeat time (see activateControl/setRepeatAction).
629  d->repeatActionTimer.start(50, this);
630  }
631  if (d->pressedControl == QStyle::SC_ScrollBarSlider)
632  setSliderDown(true);
633 }
double d
Definition: qnumeric_p.h:62
virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget=0) const =0
Returns the rectangle containing the specified subControl of the given complex control (with the styl...
void initStyleOption(QStyleOptionSlider *option) const
Initialize option with the values from this QScrollBar.
Definition: qscrollbar.cpp:308
virtual int styleHint(StyleHint stylehint, const QStyleOption *opt=0, const QWidget *widget=0, QStyleHintReturn *returnData=0) const =0
Returns an integer representing the specified style hint for the given widget described by the provid...
int width() const
Returns the width of the rectangle.
Definition: qrect.h:303
int height() const
Returns the height of the rectangle.
Definition: qrect.h:306
#define Q_D(Class)
Definition: qglobal.h:2482
The QElapsedTimer class provides a fast way to calculate elapsed times.
Definition: qelapsedtimer.h:53
qint64 elapsed() const
Returns the number of milliseconds since this QElapsedTimer was last started.
const QPoint & pos() const
Returns the position of the mouse cursor, relative to the widget that received the event...
Definition: qevent.h:95
QStyle * style() const
Definition: qwidget.cpp:2742
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
Qt::MouseButton button() const
Returns the button that caused the event.
Definition: qevent.h:101
void setSliderDown(bool)
void repaint()
Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the ...
Definition: qwidget.cpp:10761
QPoint center() const
Returns the center point of the rectangle.
Definition: qrect.h:300
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 QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
void setSliderPosition(int)
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
virtual SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, const QPoint &pt, const QWidget *widget=0) const =0
Returns the sub control at the given position in the given complex control (with the style options sp...
int y() const
Returns the y coordinate of this point.
Definition: qpoint.h:131
The QStyleOptionSlider class is used to describe the parameters needed for drawing a slider...
Definition: qstyleoption.h:701
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128
void start()
Starts this timer.
#define HORIZONTAL
Definition: qscrollbar.cpp:330
QPoint topLeft() const
Returns the position of the rectangle&#39;s top-left corner.
Definition: qrect.h:288

◆ mouseReleaseEvent()

void QScrollBar::mouseReleaseEvent ( QMouseEvent e)
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 639 of file qscrollbar.cpp.

640 {
641  Q_D(QScrollBar);
642  if (!d->pressedControl)
643  return;
644 
645  if (e->buttons() & (~e->button())) // some other button is still pressed
646  return;
647 
648  d->stopRepeatAction();
649 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
Qt::MouseButton button() const
Returns the button that caused the event.
Definition: qevent.h:101
Qt::MouseButtons buttons() const
Returns the button state when the event was generated.
Definition: qevent.h:102

◆ paintEvent()

void QScrollBar::paintEvent ( QPaintEvent )
protectedvirtual

Reimplemented Function

Reimplemented from QWidget.

Definition at line 556 of file qscrollbar.cpp.

557 {
558  Q_D(QScrollBar);
559  QPainter p(this);
560  QStyleOptionSlider opt;
561  initStyleOption(&opt);
563  if (d->pressedControl) {
564  opt.activeSubControls = (QStyle::SubControl)d->pressedControl;
565  if (!d->pointerOutsidePressedControl)
567  } else {
568  opt.activeSubControls = (QStyle::SubControl)d->hoverControl;
569  }
570  style()->drawComplexControl(QStyle::CC_ScrollBar, &opt, &p, this);
571 }
The QPainter class performs low-level painting on widgets and other paint devices.
Definition: qpainter.h:86
double d
Definition: qnumeric_p.h:62
SubControl
This enum describes the available sub controls.
Definition: qstyle.h:402
QStyle::State state
the style flags that are used when drawing the control
Definition: qstyleoption.h:88
void initStyleOption(QStyleOptionSlider *option) const
Initialize option with the values from this QScrollBar.
Definition: qscrollbar.cpp:308
QStyle::SubControls activeSubControls
This variable holds a bitwise OR of the sub-controls that are active for the complex control...
Definition: qstyleoption.h:694
#define Q_D(Class)
Definition: qglobal.h:2482
QStyle * style() const
Definition: qwidget.cpp:2742
The QScrollBar widget provides a vertical or horizontal scroll bar.
Definition: qscrollbar.h:59
virtual void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *widget=0) const =0
Draws the given control using the provided painter with the style options specified by option...
if(void) toggleToolbarShown
The QStyleOptionSlider class is used to describe the parameters needed for drawing a slider...
Definition: qstyleoption.h:701
QStyle::SubControls subControls
This variable holds a bitwise OR of the sub-controls to be drawn for the complex control.
Definition: qstyleoption.h:693

◆ sizeHint()

QSize QScrollBar::sizeHint ( ) const
virtual

Reimplemented Function

em>Reimplemented Function

Reimplemented from QWidget.

Definition at line 490 of file qscrollbar.cpp.

Referenced by QCompleterPrivate::showPopup(), and QMdiAreaPrivate::updateScrollBars().

◆ sliderChange()

void QScrollBar::sliderChange ( SliderChange  change)
protectedvirtual

Reimplement this virtual function to track slider changes such as SliderRangeChange , SliderOrientationChange , SliderStepsChange , or SliderValueChange .

The default implementation only updates the display and ignores the change parameter.

Reimplemented from QAbstractSlider.

Definition at line 509 of file qscrollbar.cpp.

510 {
512 }
virtual void sliderChange(SliderChange change)
Reimplement this virtual function to track slider changes such as SliderRangeChange ...

Friends and Related Functions

◆ qt_qscrollbarStyleOption

Q_GUI_EXPORT QStyleOptionSlider qt_qscrollbarStyleOption ( QScrollBar scrollBar)
friend

Returns the style option for scroll bar.

Warning
This function is not part of the public interface.

Definition at line 766 of file qscrollbar.cpp.

767 {
768  QStyleOptionSlider opt;
769  scrollbar->initStyleOption(&opt);
770  return opt;
771 }
The QStyleOptionSlider class is used to describe the parameters needed for drawing a slider...
Definition: qstyleoption.h:701

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