Qt logo

QScrollBar Class Reference


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

#include <qscrollbar.h>

Inherits QRangeControl and QWidget.

List of all member functions.

Public Members

Signals

Protected Members


Detailed Description

The QScrollBar widget provides a vertical or horizontal scroll bar.

A scroll bar is used to let the user control a value within a program-definable range, and to give the user visible indication of the current value of a range control.

Scroll bars include four separate controls, in order:

QScrollBar has not much of an API of its own; it mostly relies on QRangeControl. The most useful functions are setValue() to set the scrollbar directly to some value; addPage(), addLine(), subPage() and subLine() to simulate the effects of clicking (neat for accelerator keys; setSteps() to define the values of pageStep() and lineStep(); and last but NOT least setRange() to set the minValue() and maxValue() of the scrollbar. (QScrollBar has a convenience constructor with which you can set most of that.)

Some GUI styles, for example the provided Windows and Motif styles, also use the pageStep() value to calculate the size of the sliding thumb (scroll indicator).

In addition to the access functions from QRangeControl, QScrollBar has a comprehensive set of signals:

QScrollBar only offers integer ranges, and the current implementation has problems when the range is greater than a million or so. (A million is more than sufficient for today's display sizes, however.)

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

See also: QSlider, QSpinBox and GUI Design Handbook: Scroll Bar


Member Function Documentation

QScrollBar::QScrollBar ( Orientation orientation, QWidget * parent, const char * name=0 )

Constructs a scroll bar.

The orientation must be QScrollBar::Vertical or QScrollBar::Horizontal.

The parent and name arguments are sent to the QWidget constructor.

QScrollBar::QScrollBar ( QWidget * parent, const char * name=0 )

Constructs a vertical scroll bar.

The parent and name arguments are sent to the QWidget constructor.

QScrollBar::QScrollBar ( int minValue, int maxValue, int lineStep, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name=0 )

Constructs a scroll bar.

Arguments:

The parent and name arguments are sent to the QWidget constructor.

bool QScrollBar::draggingSlider () const

Returns TRUE if the user has clicked the mouse on the slider and is currently dragging it, or FALSE if not.

void QScrollBar::keyPressEvent ( QKeyEvent * e ) [virtual protected]

Handles key press events for the scroll bar.

Reimplemented from QWidget.

void QScrollBar::mouseMoveEvent ( QMouseEvent * e ) [virtual protected]

Handles mouse move events for the scroll bar.

Reimplemented from QWidget.

void QScrollBar::mousePressEvent ( QMouseEvent * e ) [virtual protected]

Handles mouse press events for the scroll bar.

Reimplemented from QWidget.

void QScrollBar::mouseReleaseEvent ( QMouseEvent * e ) [virtual protected]

Handles mouse release events for the scroll bar.

Reimplemented from QWidget.

void QScrollBar::nextLine () [signal]

This signal is emitted when the scroll bar scrolls one line down/right.

void QScrollBar::nextPage () [signal]

This signal is emitted when the scroll bar scrolls one page down/right.

Orientation QScrollBar::orientation () const

Returns the scroll bar orientation; QScrollBar::Vertical or QScrollBar::Horizontal.

See also: setOrientation().

void QScrollBar::paintEvent ( QPaintEvent * ) [virtual protected]

Handles paint events for the scroll bar.

Reimplemented from QWidget.

void QScrollBar::prevLine () [signal]

This signal is emitted when the scroll bar scrolls one line up/left.

void QScrollBar::prevPage () [signal]

This signal is emitted when the scroll bar scrolls one page up/left.

void QScrollBar::rangeChange () [virtual protected]

For internal use only.

Reimplemented from QRangeControl.

void QScrollBar::resizeEvent ( QResizeEvent * ) [virtual protected]

Handles resize events for the scroll bar.

Reimplemented from QWidget.

void QScrollBar::setOrientation ( Orientation orientation ) [virtual]

Sets the scroll bar orientation. The orientation must be QScrollBar::Vertical or QScrollBar::Horizontal.

See also: orientation().

void QScrollBar::setPalette ( const QPalette & p ) [virtual]

Reimplements the virtual function QWidget::setPalette().

Sets the background color to the mid color for Motif style scroll bars.

void QScrollBar::setTracking ( bool enable ) [virtual]

Enables scroll bar tracking if enable is TRUE, or disables tracking if enable is FALSE.

If tracking is enabled (default), the scroll bar emits the valueChanged() signal whenever the slider is being dragged. If tracking is disabled, the scroll bar emits the valueChanged() signal when the user releases the mouse button (unless the value happens to be the same as before).

See also: tracking().

QSize QScrollBar::sizeHint () const [virtual]

Returns a size hint for this scroll bar.

Reimplemented from QWidget.

QSizePolicy QScrollBar::sizePolicy () const [virtual]

Specifies that this widget can use more, but is able to survive on less, space in the orientation() direction; and is fixed in the other direction.

Reimplemented from QWidget.

void QScrollBar::sliderMoved ( int value ) [signal]

This signal is emitted when the slider is moved by the user, with the new scroll bar value as an argument.

This signal is emitted even when tracking is turned off.

See also: tracking(), valueChanged(), nextLine(), prevLine(), nextPage() and prevPage().

void QScrollBar::sliderPressed () [signal]

This signal is emitted when the user presses the slider with the mouse.

QRect QScrollBar::sliderRect () const [protected]

Returns the scroll bar slider rectangle.

See also: sliderStart().

void QScrollBar::sliderReleased () [signal]

This signal is emitted when the user releases the slider with the mouse.

int QScrollBar::sliderStart () const [protected]

Returns the pixel position where the scroll bar slider starts.

It is equivalent to sliderRect().y() for vertical scroll bars or sliderRect().x() for horizontal scroll bars.

void QScrollBar::stepChange () [virtual protected]

For internal use only.

Reimplemented from QRangeControl.

void QScrollBar::styleChange ( QStyle & old ) [virtual protected]

Reimplemented for internal reasons; the API is not affected.

Reimplemented from QWidget.

bool QScrollBar::tracking () const

Returns TRUE if tracking is enabled, or FALSE if tracking is disabled.

Tracking is initially enabled.

See also: setTracking().

void QScrollBar::valueChange () [virtual protected]

For internal use only.

Reimplemented from QRangeControl.

void QScrollBar::valueChanged ( int value ) [signal]

This signal is emitted when the scroll bar value is changed, with the new scroll bar value as an argument.

void QScrollBar::wheelEvent ( QWheelEvent * e ) [virtual protected]

Handles wheel events for the scroll bar.

Reimplemented from QWidget.


Search the documentation, FAQ, qt-interest archive and more (uses www.troll.no):


This file is part of the Qt toolkit, copyright © 1995-99 Troll Tech, all rights reserved.


Copyright © 1999 Troll TechTrademarks
Qt version 2.0.2