QScrollBar(3qt)

NAME
QScrollBar - Vertical or horizontal scroll bar

SYNOPSIS
#include <qscrollbar.h>

Inherits QWidget and QRangeControl.

  Public Members
QScrollBar ( QWidget * parent, const char * name = 0 )
QScrollBar ( Orientation orientation, QWidget * parent, const char * name = 0 )
QScrollBar ( int minValue, int maxValue, int lineStep, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )
virtual void setOrientation ( Orientation )
Orientation orientation () const
virtual void setTracking ( bool enable )
bool tracking () const
bool draggingSlider () const
virtual void setPalette ( const QPalette & p )
int minValue () const
int maxValue () const
void setMinValue ( int )
void setMaxValue ( int )
int lineStep () const
int pageStep () const
void setLineStep ( int )
void setPageStep ( int )
int value () const
int sliderStart () const
QRect sliderRect () const

  Public Slots
void setValue ( int )

  Signals
void valueChanged ( int value )
void sliderPressed ()
void sliderMoved ( int value )
void sliderReleased ()
void nextLine ()
void prevLine ()
void nextPage ()
void prevPage ()

  Properties
bool draggingSlider - whether the user has clicked the mouse on the slider and is currently dragging it (read only)
int lineStep - the current line step
int maxValue - the current maximum value of the scroll bar
int minValue - the current minimum value of the scroll bar
Orientation orientation - the orientation of the scroll bar
int pageStep - the current line step
bool tracking - whether scroll bar tracking is enabled
int value - the current scroll bar value

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

A scroll bar allows the user to control a value within a program-definable range and gives users a visible indication of the current value of a range control.

Scroll bars include four separate controls:

The line-up and line-down controls are little buttons which the user can use to move one line up or down. The meaning of "line" is configurable. In editors and list boxes it means one line of text; in an image viewer it might mean 20 pixels.

The slider is the handle that indicates the current value of the scroll bar, which the user can drag to change the value. This part of the scroll bar is sometimes called the "thumb".

The page-up/page-down control is the area on which the slider slides (the scroll bar's background). Clicking here moves the scroll bar towards the click. The meaning of "page" is also configurable: in editors and list boxes it means as many lines as there is space for in the widget.

QScrollBar has very few of its own functions; it mostly relies on QRangeControl. The most useful functions are setValue() to set the scroll bar directly to some value; addPage(), addLine(), subtractPage(), and subtractLine() to simulate the effects of clicking (useful for accelerator keys); setSteps() to define the values of pageStep() and lineStep(); and setRange() to set the minValue() and maxValue() of the scroll bar. QScrollBar has a convenience constructor with which you can set most of these properties.

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

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

valueChanged() - emitted when the scroll bar's value has changed. The tracking() determines whether this signal is emitted during user interaction.

sliderPressed() - emitted when the user starts to drag the slider.

sliderMoved() - emitted when the user drags the slider.

sliderReleased() - emitted when the user releases the slider.

nextLine() - emitted when the scroll bar has moved one line down or right. Line is defined in QRangeControl.

prevLine() - emitted when the scroll bar has moved one line up or left.

nextPage() - emitted when the scroll bar has moved one page down or right.

prevPage() - emitted when the scroll bar has moved one page up or left.

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

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

If you need to add scroll bars to an interface, consider using the QScrollView class, which encapsulates the common uses for scroll bars.

[Image Omitted]

[Image Omitted]

See also QSlider, QSpinBox, QScrollView, GUI Design Handbook: Scroll Bar and Basic Widgets.

MEMBER FUNCTION DOCUMENTATION

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 ( Orientation orientation, QWidget * parent, const char * name = 0 )
Constructs a scroll bar.

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

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 whose value can never be smaller than minValue or greater than maxValue, whose line step size is lineStep and page step size is pageStep and whose value is initially value (which is guaranteed to be in range using bound()).

If orientation is Vertical the scroll bar is vertical and if it is Horizontal the scroll bar is horizontal.

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; otherwise returns FALSE. See the "draggingSlider" property for details.

int QScrollBar::lineStep () const
Returns the current line step. See the "lineStep" property for details.

int QScrollBar::maxValue () const
Returns the current maximum value of the scroll bar. See the "maxValue" property for details.

int QScrollBar::minValue () const
Returns the current minimum value of the scroll bar. See the "minValue" property for details.

void QScrollBar::nextLine () [signal]
This signal is emitted when the scroll bar scrolls one line down or right.

void QScrollBar::nextPage () [signal]
This signal is emitted when the scroll bar scrolls one page down or right.

Orientation QScrollBar::orientation () const
Returns the orientation of the scroll bar. See the "orientation" property for details.

int QScrollBar::pageStep () const
Returns the current line step. See the "pageStep" property for details.

void QScrollBar::prevLine () [signal]
This signal is emitted when the scroll bar scrolls one line up or left.

void QScrollBar::prevPage () [signal]
This signal is emitted when the scroll bar scrolls one page up or left.

void QScrollBar::setLineStep ( int )
Sets the current line step. See the "lineStep" property for details.

void QScrollBar::setMaxValue ( int )
Sets the current maximum value of the scroll bar. See the "maxValue" property for details.

void QScrollBar::setMinValue ( int )
Sets the current minimum value of the scroll bar. See the "minValue" property for details.

void QScrollBar::setOrientation ( Orientation ) [virtual]
Sets the orientation of the scroll bar. See the "orientation" property for details.

void QScrollBar::setPageStep ( int )
Sets the current line step. See the "pageStep" property for details.

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 using palette p.

Reimplemented from QWidget.

void QScrollBar::setTracking ( bool enable ) [virtual]
Sets whether scroll bar tracking is enabled to enable. See the "tracking" property for details.

void QScrollBar::setValue ( int ) [slot]
Sets the current scroll bar value. See the "value" property for details.

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
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
Returns the pixel position where the scroll bar slider starts.

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

bool QScrollBar::tracking () const
Returns TRUE if scroll bar tracking is enabled; otherwise returns FALSE. See the "tracking" property for details.

int QScrollBar::value () const
Returns the current scroll bar value. See the "value" property for details.

void QScrollBar::valueChanged ( int value ) [signal]
This signal is emitted when the scroll bar value has changed, with the new scroll bar value as an argument.

  Property Documentation

bool draggingSlider
This property holds whether the user has clicked the mouse on the slider and is currently dragging it.

Get this property's value with draggingSlider().

int lineStep
This property holds the current line step.

When setting lineStep, the virtual stepChange() function will be called if the new line step is different from the previous setting.

See also setSteps(), QRangeControl::pageStep() and setRange().

Set this property's value with setLineStep() and get this property's value with lineStep().

int maxValue
This property holds the current maximum value of the scroll bar.

When setting this property, the QScrollBar::minValue is adjusted so that the range remains valid if necessary.

See also setRange().

Set this property's value with setMaxValue() and get this property's value with maxValue().

int minValue
This property holds the current minimum value of the scroll bar.

When setting this property, the QScrollBar::maxValue is adjusted so that the range remains valid if necessary.

See also setRange().

Set this property's value with setMinValue() and get this property's value with minValue().

Orientation orientation
This property holds the orientation of the scroll bar.

The orientation must be Qt::Vertical (the default) or Qt::Horizontal.

Set this property's value with setOrientation() and get this property's value with orientation().

int pageStep
This property holds the current line step.

When setting pageStep, the virtual stepChange() function will be called if the new page step is different from the previous setting.

See also QRangeControl::setSteps(), lineStep and setRange().

Set this property's value with setPageStep() and get this property's value with pageStep().

bool tracking
This property holds whether scroll bar tracking is enabled.

If tracking is enabled (the default), the scroll bar emits the valueChanged() signal while the slider is being dragged. If tracking is disabled, the scroll bar emits the valueChanged() signal only when the user releases the mouse button after moving the slider.

Set this property's value with setTracking() and get this property's value with tracking().

int value
This property holds the current scroll bar value.

Set this property's value with setValue() and get this property's value with value().

See also QRangeControl::value() and prevValue().

SEE ALSO
http://doc.trolltech.com/qscrollbar.html http://www.trolltech.com/faq/tech.html

COPYRIGHT
Copyright 1992-2001 Trolltech AS, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.

AUTHOR
Generated automatically from the source code.

BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qscrollbar.3qt) and the Qt version (3.0.3).