📄 qrangecontrol.html
字号:
<p> 你将很少用到这个函数。可是,如果你想在valueChange()的重载函数中改变范围控制的值,而<a href="#setValue">setValue</a>()将会再次调用valueChange(),这时你就必须使用<a href="#directSetValue">directSetValue</a>()来替代它。
<p> <p>也可以参考<a href="#setValue">setValue</a>()。
<h3 class=fn>int <a name="lineStep"></a>QRangeControl::lineStep () const
</h3>
<p> 返回当前线步。
<p> <p>也可以参考<a href="#setSteps">setSteps</a>()和<a href="#pageStep">pageStep</a>()。
<h3 class=fn>int <a name="maxValue"></a>QRangeControl::maxValue () const
</h3>
<p> 返回当前范围的最大值。
<p> <p>也可以参考<a href="#setMaxValue">setMaxValue</a>()、<a href="#setRange">setRange</a>()和<a href="#minValue">minValue</a>()。
<h3 class=fn>int <a name="minValue"></a>QRangeControl::minValue () const
</h3>
<p> 返回当前范围的最小值。
<p> <p>也可以参考<a href="#setMinValue">setMinValue</a>()、<a href="#setRange">setRange</a>()和<a href="#maxValue">maxValue</a>()。
<h3 class=fn>int <a name="pageStep"></a>QRangeControl::pageStep () const
</h3>
<p> 返回当前页步。
<p> <p>也可以参考<a href="#setSteps">setSteps</a>()和<a href="#lineStep">lineStep</a>()。
<h3 class=fn>int <a name="positionFromValue"></a>QRangeControl::positionFromValue ( int logical_val, int span ) const<tt> [保护]</tt>
</h3>
把<em>logical_val</em>转换为一个象素位置。<a href="#minValue">minValue</a>()映射为0,<a href="#maxValue">maxValue</a>()映射为<em>span</em>并且其它值就被均匀地分布在两者之间。
<p> 这个函数可以处理整个整数范围而不会溢出。
<p> 当绘制一个范围控制时,比如在屏幕上的<a href="qscrollbar.html">QScrollBar</a>,调用这个函数是很有用的。
<p> <p>也可以参考<a href="#valueFromPosition">valueFromPosition</a>()。
<h3 class=fn>int <a name="prevValue"></a>QRangeControl::prevValue () const<tt> [保护]</tt>
</h3>
<p> 返回范围控制的上一个值。“上一个值”指的是在最后一次值的变化之前出现的值。设置一个新的范围也许会影响到值,因为这个值被强制在特定的范围之内。当范围控制被初始创建时,这个值和<a href="#value">value</a>()一样。
<p> 如果你调用<a href="#setRange">setRange</a>()导致当前值发生改变得话,<a href="#prevValue">prevValue</a>()可能在当前合法范围之外。例如,如果一个范围是[0, 1000]并且当前值为500,setRange(0, 400)将会使value()返回400并且prevValue()返回500。
<p> <p>也可以参考<a href="#value">value</a>()和<a href="#setRange">setRange</a>()。
<h3 class=fn>void <a name="rangeChange"></a>QRangeControl::rangeChange ()<tt> [虚 保护]</tt>
</h3>
只要范围控制的范围发生改变,这个虚函数就会被调用。当范围发生改变时,你想被通知的话,你可以重新实现它。默认实现是什么都不做。
<p> 注意在范围发生改变之后,这个方法才被调用。
<p> <p>也可以参考<a href="#setRange">setRange</a>()、<a href="#valueChange">valueChange</a>()和<a href="#stepChange">stepChange</a>()。
<p>在<a href="qdial.html#rangeChange">QDial</a>、<a href="qslider.html#rangeChange">QSlider</a>和<a href="qspinbox.html#rangeChange">QSpinBox</a>中被重新实现。
<h3 class=fn>void <a name="setMaxValue"></a>QRangeControl::setMaxValue ( int maxVal )
</h3>
设置范围的当前最大值为<em>maxVal</em>。
<p> 如果需要,需要<a href="#minValue">minValue</a>()将会被调整来确保范围仍然有效。
<p> <p>也可以参考<a href="#maxValue">maxValue</a>()和<a href="#setMinValue">setMinValue</a>()。
<h3 class=fn>void <a name="setMinValue"></a>QRangeControl::setMinValue ( int minVal )
</h3>
设置范围的当前最小值为<em>minValue</em>。
<p> 如果需要,需要<a href="#maxValue">maxValue</a>()将会被调整来确保范围仍然有效。
<p> <p>也可以参考<a href="#minValue">minValue</a>()和<a href="#setMaxValue">setMaxValue</a>()。
<h3 class=fn>void <a name="setRange"></a>QRangeControl::setRange ( int minValue, int maxValue )
</h3>
设置范围控制的最小值为<em>minValue</em>,最大值为<em>maxValue</em>。
<p> 如果新的最小值和最大值中的一个或两个与原先设定的不同,调用虚函数<a href="#rangeChange">rangeChange</a>()。如果因为当前值在新的范围之外,它需要被调整,那么调用虚函数<a href="#valueChange">valueChange</a>()。
<p> 如果<em>maxValue</em>小于<em>minValue</em>,<em>minValue</em>变为合法的。
<p> <p>也可以参考<a href="#minValue">minValue</a>()和<a href="#maxValue">maxValue</a>()。
<p>实例:<a href="listbox-example.html#x1324">listbox/listbox.cpp</a>、<a href="tutorial1-12.html#x2374">t12/lcdrange.cpp</a>、<a href="tutorial1-05.html#x2302">t5/main.cpp</a>、<a href="tutorial1-06.html#x2312">t6/main.cpp</a>、 <a href="tutorial1-08.html#x2321">t8/lcdrange.cpp</a>和<a href="xform-example.html#x1451">xform/xform.cpp</a>。
<h3 class=fn>void <a name="setSteps"></a>QRangeControl::setSteps ( int lineStep, int pageStep )
</h3>
设置范围控制的线步为<em>lineStep</em>,页步为<em>pageStep</em>。
<p> 如果新的线步和/或页步与以前的设定不同,调用虚函数<a href="#stepChange">stepChange</a>()。
<p> <p>也可以参考<a href="#lineStep">lineStep</a>()、<a href="#pageStep">pageStep</a>()和<a href="#setRange">setRange</a>()。
<h3 class=fn>void <a name="setValue"></a>QRangeControl::setValue ( int value )
</h3>
设定范围控制的值为<em>value</em>,并且强制它变为在合法范围内的值。
<p> 如果新的值和以前的值不同,调用虚函数<a href="#valueChange">valueChange</a>()。旧的值也可以通过<a href="#prevValue">prevValue</a>()得到。
<p> <p>也可以参考<a href="#value">value</a>().
<h3 class=fn>void <a name="stepChange"></a>QRangeControl::stepChange ()<tt> [虚 保护]</tt>
</h3>
只要范围控制的线步/页步设置发生变化,这个虚函数就被调用。如果你需要在步长发生变化时,你想被通知的话,你可以重新实现它。默认实现是什么都不做。
<p> 注意在步长设置被改变之后,这个方法才被调用。
<p> <p>也可以参考<a href="#setSteps">setSteps</a>()、<a href="#rangeChange">rangeChange</a>()和<a href="#valueChange">valueChange</a>()。
<h3 class=fn>void <a name="subtractLine"></a>QRangeControl::subtractLine ()
</h3>
与<tt>setValue( value() - lineStep() )</tt>相同。
<p> 如果值发生改变,那么<a href="#valueChange">valueChange</a>()被调用。
<p> <p>也可以参考<a href="#addLine">addLine</a>()、<a href="#subtractPage">subtractPage</a>()和<a href="#setValue">setValue</a>()。
<h3 class=fn>void <a name="subtractPage"></a>QRangeControl::subtractPage ()
</h3>
与<tt>setValue( value() - pageStep() )</tt>相同。
<p> 如果值发生改变,那么<a href="#valueChange">valueChange</a>()被调用。
<p> <p>也可以参考<a href="#addPage">addPage</a>()、<a href="#subtractLine">subtractLine</a>()和<a href="#setValue">setValue</a>()。
<h3 class=fn>int <a name="value"></a>QRangeControl::value () const
</h3>
<p> 返回当前范围控制的值。这个值已经被保证在[minValue(), <a href="#maxValue">maxValue</a>()]范围内。
<p> <p>也可以参考<a href="#setValue">setValue</a>()和<a href="#prevValue">prevValue</a>()。
<h3 class=fn>void <a name="valueChange"></a>QRangeControl::valueChange ()<tt> [虚 保护]</tt>
</h3>
只要值发生变化,这个虚函数就被调用。如果你需要在值发生变化时,你想被通知的话,你可以重新实现它。默认实现是什么都不做。
<p> 注意在值发生变化之后,这个方法才被调用。以前的值可以通过<a href="#prevValue">prevValue</a>()来得到。
<p> <p>也可以参考<a href="#setValue">setValue</a>()、<a href="#addPage">addPage</a>()、<a href="#subtractPage">subtractPage</a>()、<a href="#addLine">addLine</a>()、<a href="#subtractLine">subtractLine</a>()、<a href="#rangeChange">rangeChange</a>()和<a href="#stepChange">stepChange</a>()。
<p>在<a href="qdial.html#valueChange">QDial</a>、<a href="qslider.html#valueChange">QSlider</a>和<a href="qspinbox.html#valueChange">QSpinBox</a>中被重新实现。
<h3 class=fn>int <a name="valueFromPosition"></a>QRangeControl::valueFromPosition ( int pos, int span ) const<tt> [保护]</tt>
</h3>
把像素位置<em>pos</em>转换为值。0映射为<a href="#minValue">minValue</a>(),<em>span</em>映射为<a href="#maxValue">maxValue</a>(),并且其它值被平均分布在这两者之间。
<p> 这个函数可以用来操作整个整数范围而不会溢出。
<p> 当你真正实现一个范围控制窗口部件时,比如<a href="qscrollbar.html">QScrollBar</a>和想处理鼠标按下事件时,调用这个函数是很有用的。这个函数会映射屏幕坐标为合法值。
<p> <p>也可以参考<a href="#positionFromValue">positionFromValue</a>()。
<!-- eof -->
<hr><p>
这个文件是<a href="index.html">Qt工具包</a>一部分。
版权所有 © 1995-2002
<a href="http://www.trolltech.com/">Trolltech</a>。保留所有权利。
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2002
<a href="http://www.trolltech.com">Trolltech</a>
<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td><a href="zh_CN.html">译者:Cavendish</a>
<td align=right><div align=right>Qt 3.0.5版</div>
</table></div></address></body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -