<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /tmp/qt-3.0-reggie-28534/qt-x11-free-3.0.2/src/widgets/qscrollbar.cpp:53 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>QScrollBar Class</title> <style type="text/css"><!-- h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QScrollBar Class Reference</h1> <p>The QScrollBar widget provides a vertical or horizontal scroll bar. <a href="#details">More...</a> <p><tt>#include <<a href="qscrollbar-h.html">qscrollbar.h</a>></tt> <p>Inherits <a href="qwidget.html">QWidget</a> and <a href="qrangecontrol.html">QRangeControl</a>. <p><a href="qscrollbar-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li><div class=fn><a href="#QScrollBar"><b>QScrollBar</b></a> ( QWidget * parent, const char * name = 0 )</div></li> <li><div class=fn><a href="#QScrollBar-2"><b>QScrollBar</b></a> ( Orientation orientation, QWidget * parent, const char * name = 0 )</div></li> <li><div class=fn><a href="#QScrollBar-3"><b>QScrollBar</b></a> ( int minValue, int maxValue, int lineStep, int pageStep, int value, Orientation orientation, QWidget * parent, const char * name = 0 )</div></li> <li><div class=fn>virtual void <a href="#setOrientation"><b>setOrientation</b></a> ( Orientation )</div></li> <li><div class=fn>Orientation <a href="#orientation"><b>orientation</b></a> () const</div></li> <li><div class=fn>virtual void <a href="#setTracking"><b>setTracking</b></a> ( bool enable )</div></li> <li><div class=fn>bool <a href="#tracking"><b>tracking</b></a> () const</div></li> <li><div class=fn>bool <a href="#draggingSlider"><b>draggingSlider</b></a> () const</div></li> <li><div class=fn>virtual void <a href="#setPalette"><b>setPalette</b></a> ( const QPalette & p )</div></li> <li><div class=fn>int <a href="#minValue"><b>minValue</b></a> () const</div></li> <li><div class=fn>int <a href="#maxValue"><b>maxValue</b></a> () const</div></li> <li><div class=fn>void <a href="#setMinValue"><b>setMinValue</b></a> ( int )</div></li> <li><div class=fn>void <a href="#setMaxValue"><b>setMaxValue</b></a> ( int )</div></li> <li><div class=fn>int <a href="#lineStep"><b>lineStep</b></a> () const</div></li> <li><div class=fn>int <a href="#pageStep"><b>pageStep</b></a> () const</div></li> <li><div class=fn>void <a href="#setLineStep"><b>setLineStep</b></a> ( int )</div></li> <li><div class=fn>void <a href="#setPageStep"><b>setPageStep</b></a> ( int )</div></li> <li><div class=fn>int <a href="#value"><b>value</b></a> () const</div></li> <li><div class=fn>int <a href="#sliderStart"><b>sliderStart</b></a> () const</div></li> <li><div class=fn>QRect <a href="#sliderRect"><b>sliderRect</b></a> () const</div></li> </ul> <h2>Public Slots</h2> <ul> <li><div class=fn>void <a href="#setValue"><b>setValue</b></a> ( int )</div></li> </ul> <h2>Signals</h2> <ul> <li><div class=fn>void <a href="#valueChanged"><b>valueChanged</b></a> ( int value )</div></li> <li><div class=fn>void <a href="#sliderPressed"><b>sliderPressed</b></a> ()</div></li> <li><div class=fn>void <a href="#sliderMoved"><b>sliderMoved</b></a> ( int value )</div></li> <li><div class=fn>void <a href="#sliderReleased"><b>sliderReleased</b></a> ()</div></li> <li><div class=fn>void <a href="#nextLine"><b>nextLine</b></a> ()</div></li> <li><div class=fn>void <a href="#prevLine"><b>prevLine</b></a> ()</div></li> <li><div class=fn>void <a href="#nextPage"><b>nextPage</b></a> ()</div></li> <li><div class=fn>void <a href="#prevPage"><b>prevPage</b></a> ()</div></li> </ul> <h2>Properties</h2> <ul> <li><div class=fn>bool <a href="#draggingSlider-prop"><b>draggingSlider</b></a> - whether the user has clicked the mouse on the slider and is currently dragging it <em>(read only)</em></div></li> <li><div class=fn>int <a href="#lineStep-prop"><b>lineStep</b></a> - the current line step</div></li> <li><div class=fn>int <a href="#maxValue-prop"><b>maxValue</b></a> - the current maximum value of the scroll bar</div></li> <li><div class=fn>int <a href="#minValue-prop"><b>minValue</b></a> - the current minimum value of the scroll bar</div></li> <li><div class=fn>Orientation <a href="#orientation-prop"><b>orientation</b></a> - the orientation of the scroll bar</div></li> <li><div class=fn>int <a href="#pageStep-prop"><b>pageStep</b></a> - the current line step</div></li> <li><div class=fn>bool <a href="#tracking-prop"><b>tracking</b></a> - whether scroll bar tracking is enabled</div></li> <li><div class=fn>int <a href="#value-prop"><b>value</b></a> - the current scroll bar value</div></li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> <p> The QScrollBar widget provides a vertical or horizontal scroll bar. <p> <p> 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 <a href="qrangecontrol.html">range control</a>. <p> Scroll bars include four separate controls: <ul> <li> The <em>line-up</em> and <em>line-down</em> 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. <li> The <em>slider</em> 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". <li> The <em>page-up/page-down</em> 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. </ul> <p> QScrollBar has very few of its own functions; it mostly relies on <a href="qrangecontrol.html">QRangeControl</a>. The most useful functions are <a href="#setValue">setValue</a>() to set the scroll bar directly to some value; <a href="qrangecontrol.html#addPage">addPage</a>(), <a href="qrangecontrol.html#addLine">addLine</a>(), <a href="qrangecontrol.html#subtractPage">subtractPage</a>(), and <a href="qrangecontrol.html#subtractLine">subtractLine</a>() to simulate the effects of clicking (useful for accelerator keys); <a href="qrangecontrol.html#setSteps">setSteps</a>() to define the values of <a href="#pageStep">pageStep</a>() and <a href="#lineStep">lineStep</a>(); and <a href="qrangecontrol.html#setRange">setRange</a>() to set the <a href="#minValue">minValue</a>() and <a href="#maxValue">maxValue</a>() of the scroll bar. QScrollBar has a convenience constructor with which you can set most of these properties. <p> Some GUI styles (for example, the Windows and Motif styles provided), also use the pageStep() value to calculate the size of the slider. <p> In addition to the access functions from <a href="qrangecontrol.html">QRangeControl</a>, QScrollBar has a comprehensive set of signals: <ul> <li> <a href="#valueChanged">valueChanged</a>() - emitted when the scroll bar's value has changed. The <a href="#tracking">tracking</a>() determines whether this signal is emitted during user interaction. <li> <a href="#sliderPressed">sliderPressed</a>() - emitted when the user starts to drag the slider. <li> <a href="#sliderMoved">sliderMoved</a>() - emitted when the user drags the slider. <li> <a href="#sliderReleased">sliderReleased</a>() - emitted when the user releases the slider. <li> <a href="#nextLine">nextLine</a>() - emitted when the scroll bar has moved one line down or right. Line is defined in QRangeControl. <li> <a href="#prevLine">prevLine</a>() - emitted when the scroll bar has moved one line up or left. <li> <a href="#nextPage">nextPage</a>() - emitted when the scroll bar has moved one page down or right. <li> <a href="#prevPage">prevPage</a>() - emitted when the scroll bar has moved one page up or left. </ul> <p> 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. <p> A scroll bar can be controlled by the keyboard, but it has a default <a href="qwidget.html#focusPolicy">focusPolicy</a>() of <a href="qwidget.html#FocusPolicy-enum">NoFocus</a>. Use <a href="qwidget.html#setFocusPolicy">setFocusPolicy</a>() to enable <a href="focus.html#keyboard-focus">keyboard focus</a>. See <a href="qwidget.html#keyPressEvent">keyPressEvent</a>() for a list of key bindings. <p> If you need to add scroll bars to an interface, consider using the <a href="qscrollview.html">QScrollView</a> class, which encapsulates the common uses for scroll bars. <p> <img src=qscrbar-m.png> <img src=qscrbar-w.png> <p> <p>See also <a href="qslider.html">QSlider</a>, <a href="qspinbox.html">QSpinBox</a>, <a href="qscrollview.html">QScrollView</a>, <a href="guibooks.html#fowler">GUI Design Handbook: Scroll Bar</a> and <a href="basic.html">Basic Widgets</a>. <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="QScrollBar"></a>QScrollBar::QScrollBar ( <a href="qwidget.html">QWidget</a> * parent, const char * name = 0 ) </h3> Constructs a vertical scroll bar. <p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a> constructor. <h3 class=fn><a name="QScrollBar-2"></a>QScrollBar::QScrollBar ( <a href="qt.html#Orientation-enum">Orientation</a> orientation, <a href="qwidget.html">QWidget</a> * parent, const char * name = 0 ) </h3> Constructs a scroll bar. <p> The <em>orientation</em> must be Qt::Vertical or Qt::Horizontal. <p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a> constructor. <h3 class=fn><a name="QScrollBar-3"></a>QScrollBar::QScrollBar ( int minValue, int maxValue, int lineStep, int pageStep, int value, <a href="qt.html#Orientation-enum">Orientation</a> orientation, <a href="qwidget.html">QWidget</a> * parent, const char * name = 0 ) </h3> Constructs a scroll bar whose value can never be smaller than <em>minValue</em> or greater than <em>maxValue</em>, whose line step size is <em>lineStep</em> and page step size is <em>pageStep</em> and whose value is initially <em>value</em> (which is guaranteed to be in range using <a href="qrangecontrol.html#bound">bound</a>()). <p> If <em>orientation</em> is <a href="qt.html#Orientation-enum">Vertical</a> the scroll bar is vertical and if it is <a href="qt.html#Orientation-enum">Horizontal</a> the scroll bar is horizontal. <p> The <em>parent</em> and <em>name</em> arguments are sent to the <a href="qwidget.html">QWidget</a> constructor. <h3 class=fn>bool <a name="draggingSlider"></a>QScrollBar::draggingSlider () const </h3><p>Returns TRUE if the user has clicked the mouse on the slider and is currently dragging it; otherwise returns FALSE. See the <a href="qscrollbar.html#draggingSlider-prop">"draggingSlider"</a> property for details. <h3 class=fn>int <a name="lineStep"></a>QScrollBar::lineStep () const </h3><p>Returns the current line step. See the <a href="qscrollbar.html#lineStep-prop">"lineStep"</a> property for details. <h3 class=fn>int <a name="maxValue"></a>QScrollBar::maxValue () const </h3><p>Returns the current maximum value of the scroll bar. See the <a href="qscrollbar.html#maxValue-prop">"maxValue"</a> property for details. <h3 class=fn>int <a name="minValue"></a>QScrollBar::minValue () const </h3><p>Returns the current minimum value of the scroll bar. See the <a href="qscrollbar.html#minValue-prop">"minValue"</a> property for details. <h3 class=fn>void <a name="nextLine"></a>QScrollBar::nextLine ()<tt> [signal]</tt> </h3> This signal is emitted when the scroll bar scrolls one line down or right. <h3 class=fn>void <a name="nextPage"></a>QScrollBar::nextPage ()<tt> [signal]</tt> </h3> This signal is emitted when the scroll bar scrolls one page down or right. <h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation"></a>QScrollBar::orientation () const </h3><p>Returns the orientation of the scroll bar. See the <a href="qscrollbar.html#orientation-prop">"orientation"</a> property for details. <h3 class=fn>int <a name="pageStep"></a>QScrollBar::pageStep () const </h3><p>Returns the current line step. See the <a href="qscrollbar.html#pageStep-prop">"pageStep"</a> property for details. <h3 class=fn>void <a name="prevLine"></a>QScrollBar::prevLine ()<tt> [signal]</tt> </h3> This signal is emitted when the scroll bar scrolls one line up or left. <h3 class=fn>void <a name="prevPage"></a>QScrollBar::prevPage ()<tt> [signal]</tt> </h3> This signal is emitted when the scroll bar scrolls one page up or left. <h3 class=fn>void <a name="setLineStep"></a>QScrollBar::setLineStep ( int ) </h3><p>Sets the current line step. See the <a href="qscrollbar.html#lineStep-prop">"lineStep"</a> property for details. <h3 class=fn>void <a name="setMaxValue"></a>QScrollBar::setMaxValue ( int ) </h3><p>Sets the current maximum value of the scroll bar. See the <a href="qscrollbar.html#maxValue-prop">"maxValue"</a> property for details. <h3 class=fn>void <a name="setMinValue"></a>QScrollBar::setMinValue ( int ) </h3><p>Sets the current minimum value of the scroll bar. See the <a href="qscrollbar.html#minValue-prop">"minValue"</a> property for details. <h3 class=fn>void <a name="setOrientation"></a>QScrollBar::setOrientation ( <a href="qt.html#Orientation-enum">Orientation</a> )<tt> [virtual]</tt> </h3><p>Sets the orientation of the scroll bar. See the <a href="qscrollbar.html#orientation-prop">"orientation"</a> property for details. <h3 class=fn>void <a name="setPageStep"></a>QScrollBar::setPageStep ( int ) </h3><p>Sets the current line step. See the <a href="qscrollbar.html#pageStep-prop">"pageStep"</a> property for details. <h3 class=fn>void <a name="setPalette"></a>QScrollBar::setPalette ( const <a href="qpalette.html">QPalette</a> & p )<tt> [virtual]</tt> </h3> Reimplements the virtual function <a href="qwidget.html#setPalette">QWidget::setPalette</a>(). <p> Sets the background color to the mid color for Motif style scroll bars using palette <em>p</em>. <p>Reimplemented from <a href="qwidget.html#setPalette">QWidget</a>. <h3 class=fn>void <a name="setTracking"></a>QScrollBar::setTracking ( bool enable )<tt> [virtual]</tt> </h3><p>Sets whether scroll bar tracking is enabled to <em>enable</em>. See the <a href="qscrollbar.html#tracking-prop">"tracking"</a> property for details. <h3 class=fn>void <a name="setValue"></a>QScrollBar::setValue ( int )<tt> [slot]</tt> </h3><p>Sets the current scroll bar value. See the <a href="qscrollbar.html#value-prop">"value"</a> property for details. <h3 class=fn>void <a name="sliderMoved"></a>QScrollBar::sliderMoved ( int value )<tt> [signal]</tt> </h3> <p> This signal is emitted when the slider is moved by the user, with the new scroll bar <em>value</em> as an argument. <p> This signal is emitted even when tracking is turned off. <p> <p>See also <a href="#tracking-prop">tracking</a>, <a href="#valueChanged">valueChanged</a>(), <a href="#nextLine">nextLine</a>(), <a href="#prevLine">prevLine</a>(), <a href="#nextPage">nextPage</a>() and <a href="#prevPage">prevPage</a>(). <h3 class=fn>void <a name="sliderPressed"></a>QScrollBar::sliderPressed ()<tt> [signal]</tt> </h3> This signal is emitted when the user presses the slider with the mouse. <h3 class=fn><a href="qrect.html">QRect</a> <a name="sliderRect"></a>QScrollBar::sliderRect () const </h3> Returns the scroll bar slider rectangle. <p>See also <a href="#sliderStart">sliderStart</a>(). <h3 class=fn>void <a name="sliderReleased"></a>QScrollBar::sliderReleased ()<tt> [signal]</tt> </h3> This signal is emitted when the user releases the slider with the mouse. <h3 class=fn>int <a name="sliderStart"></a>QScrollBar::sliderStart () const </h3> Returns the pixel position where the scroll bar slider starts. <p> This is equivalent to <a href="#sliderRect">sliderRect</a>().<a href="qwidget.html#y">y</a>() for vertical scroll bars or sliderRect().<a href="qwidget.html#x">x</a>() for horizontal scroll bars. <h3 class=fn>bool <a name="tracking"></a>QScrollBar::tracking () const </h3><p>Returns TRUE if scroll bar tracking is enabled; otherwise returns FALSE. See the <a href="qscrollbar.html#tracking-prop">"tracking"</a> property for details. <h3 class=fn>int <a name="value"></a>QScrollBar::value () const </h3><p>Returns the current scroll bar value. See the <a href="qscrollbar.html#value-prop">"value"</a> property for details. <h3 class=fn>void <a name="valueChanged"></a>QScrollBar::valueChanged ( int value )<tt> [signal]</tt> </h3> This signal is emitted when the scroll bar value has changed, with the new scroll bar <em>value</em> as an argument. <hr><h2>Property Documentation</h2> <h3 class=fn>bool <a name="draggingSlider-prop"></a>draggingSlider</h3> <p>This property holds whether the user has clicked the mouse on the slider and is currently dragging it. <p> <p>Get this property's value with <a href="#draggingSlider">draggingSlider</a>(). <h3 class=fn>int <a name="lineStep-prop"></a>lineStep</h3> <p>This property holds the current line step. <p>When setting lineStep, the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function will be called if the new line step is different from the previous setting. <p> <p>See also <a href="qrangecontrol.html#setSteps">setSteps</a>(), <a href="qrangecontrol.html#pageStep">QRangeControl::pageStep</a>() and <a href="qrangecontrol.html#setRange">setRange</a>(). <p>Set this property's value with <a href="#setLineStep">setLineStep</a>() and get this property's value with <a href="#lineStep">lineStep</a>(). <h3 class=fn>int <a name="maxValue-prop"></a>maxValue</h3> <p>This property holds the current maximum value of the scroll bar. <p>When setting this property, the <a href="#minValue-prop">QScrollBar::minValue</a> is adjusted so that the range remains valid if necessary. <p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>(). <p>Set this property's value with <a href="#setMaxValue">setMaxValue</a>() and get this property's value with <a href="#maxValue">maxValue</a>(). <h3 class=fn>int <a name="minValue-prop"></a>minValue</h3> <p>This property holds the current minimum value of the scroll bar. <p>When setting this property, the <a href="#maxValue-prop">QScrollBar::maxValue</a> is adjusted so that the range remains valid if necessary. <p> <p>See also <a href="qrangecontrol.html#setRange">setRange</a>(). <p>Set this property's value with <a href="#setMinValue">setMinValue</a>() and get this property's value with <a href="#minValue">minValue</a>(). <h3 class=fn><a href="qt.html#Orientation-enum">Orientation</a> <a name="orientation-prop"></a>orientation</h3> <p>This property holds the orientation of the scroll bar. <p>The orientation must be <a href="qt.html#Orientation-enum">Qt::Vertical</a> (the default) or <a href="qt.html#Orientation-enum">Qt::Horizontal</a>. <p>Set this property's value with <a href="#setOrientation">setOrientation</a>() and get this property's value with <a href="#orientation">orientation</a>(). <h3 class=fn>int <a name="pageStep-prop"></a>pageStep</h3> <p>This property holds the current line step. <p>When setting pageStep, the virtual <a href="qrangecontrol.html#stepChange">stepChange</a>() function will be called if the new page step is different from the previous setting. <p> <p>See also <a href="qrangecontrol.html#setSteps">QRangeControl::setSteps</a>(), <a href="#lineStep-prop">lineStep</a> and <a href="qrangecontrol.html#setRange">setRange</a>(). <p>Set this property's value with <a href="#setPageStep">setPageStep</a>() and get this property's value with <a href="#pageStep">pageStep</a>(). <h3 class=fn>bool <a name="tracking-prop"></a>tracking</h3> <p>This property holds whether scroll bar tracking is enabled. <p>If tracking is enabled (the default), the scroll bar emits the <a href="#valueChanged">valueChanged</a>() 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. <p>Set this property's value with <a href="#setTracking">setTracking</a>() and get this property's value with <a href="#tracking">tracking</a>(). <h3 class=fn>int <a name="value-prop"></a>value</h3> <p>This property holds the current scroll bar value. <p>Set this property's value with <a href="#setValue">setValue</a>() and get this property's value with <a href="#value">value</a>(). <p><p>See also <a href="qrangecontrol.html#value">QRangeControl::value</a>() and <a href="qrangecontrol.html#prevValue">prevValue</a>(). <!-- eof --> <hr><p> This file is part of the <a href="index.html">Qt toolkit</a>. Copyright © 1995-2001 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2001 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a> <td align=right><div align=right>Qt version 3.0.2</div> </table></div></address></body> </html>