📄 qscrollview.html
字号:
<h3 class=fn>void <a name="contentsToViewport"></a>QScrollView::contentsToViewport ( int x, int y, int & vx, int & vy ) const
</h3>
把内容中的点(<em>x</em>, <em>y</em>)转换为<a href="#viewport">viewport</a>()窗口部件中的点(<em>vx</em>, <em>vy</em>)。
<h3 class=fn><a href="qpoint.html">QPoint</a> <a name="contentsToViewport-2"></a>QScrollView::contentsToViewport ( const <a href="qpoint.html">QPoint</a> & p ) const
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 返回转换为<a href="#viewport">viewport</a>()窗口部件的点的点<em>p</em>。
<h3 class=fn>void <a name="contentsWheelEvent"></a>QScrollView::contentsWheelEvent ( <a href="qwheelevent.html">QWheelEvent</a> * e )<tt> [虚 保护]</tt>
</h3>
只要QScrollView收到<a href="qwidget.html#wheelEvent">wheelEvent</a>(),这个事件处理器就被调用——鼠标位置被转换为内容中的一个点。
<h3 class=fn>int <a name="contentsWidth"></a>QScrollView::contentsWidth () const
</h3>
<p>返回内容区域的宽度。详细情况请参考<a href="qscrollview.html#contentsWidth-prop">“contentsWidth”</a>属性。
<h3 class=fn>int <a name="contentsX"></a>QScrollView::contentsX () const
</h3>
<p>返回在视口的左边缘的内容的X坐标。详细情况请参考<a href="qscrollview.html#contentsX-prop">“contentsX”</a>属性。
<h3 class=fn>int <a name="contentsY"></a>QScrollView::contentsY () const
</h3>
<p><p>返回在视口的左边缘的内容的Y坐标。详细情况请参考<a href="qscrollview.html#contentsY-prop">“contentsY”</a>属性。
<h3 class=fn><a href="qwidget.html">QWidget</a> * <a name="cornerWidget"></a>QScrollView::cornerWidget () const
</h3>
返回在两个滚动条之间的角落里的窗口部件。
<p> 默认情况下,没有角落窗口部件出现。
<p>实例:<a href="scrollview-example.html#x734">scrollview/scrollview.cpp</a>。
<h3 class=fn>bool <a name="dragAutoScroll"></a>QScrollView::dragAutoScroll () const
</h3>
<p>如果在拖动移动事件中自动滚动生效,返回真,否则返回假。详细情况请参考<a href="qscrollview.html#dragAutoScroll-prop">“dragAutoScroll”</a>属性。
<h3 class=fn>void <a name="drawContents"></a>QScrollView::drawContents ( <a href="qpainter.html">QPainter</a> * p, int clipx, int clipy, int clipw, int cliph )<tt> [虚 保护]</tt>
</h3>
<p> 如果你正在查看绘制的区域而不是窗口部件,请重新实现这个函数。
<p> 这个函数应该使用绘制工具<em>p</em>来绘制内容中的矩形(<em>clipx</em>, <em>clipy</em>, <em>clipw</em>, <em>cliph</em>)。这个裁剪矩形在滚动视图的坐标中。
<p> 实例:
<pre>
{
// 在(100000,150000)点填充一个40000*50000的矩形
// 计算坐标……
int x1 = 100000, y1 = 150000;
int x2 = x1+40000-1, y2 = y1+50000-1;
// 裁剪坐标,这样X/Windows将不会发生问题……
if (x1 < clipx) x1=clipx;
if (y1 < clipy) y1=clipy;
if (x2 > clipx+clipw-1) x2=clipx+clipw-1;
if (y2 > clipy+cliph-1) y2=clipy+cliph-1;
// 使用小的坐标来绘制……
if ( x2 >= x1 && y2 >= y1 )
p->fillRect(x1, y1, x2-x1+1, y2-y1+1, red);
}
</pre>
<p> 裁剪矩形和绘制工具<em>p</em>的转化已经被适当地设置了。
<p>实例:<a href="qdir-example.html#x1830">qdir/qdir.cpp</a>。
<p>在<a href="qcanvasview.html#drawContents">QCanvasView</a>和<a href="qtable.html#drawContents">QTable</a>中被重新实现。
<h3 class=fn>void <a name="drawContentsOffset"></a>QScrollView::drawContentsOffset ( <a href="qpainter.html">QPainter</a> * p, int offsetx, int offsety, int clipx, int clipy, int clipw, int cliph )<tt> [虚 保护]</tt>
</h3>
仅仅是为了向后兼容。它比使用<a href="#drawContents">drawContents</a>(<a href="qpainter.html">QPainter</a>*,int,int,int,int)更容易。
<p> 默认实现是适当地转化绘制工具并且调用drawContents(QPainter*,int,int,int,int)。对于参数<em>p</em>、<em>offsetx</em>、<em>offsety</em>、<em>clipx</em>、<em>clipy</em>、<em>clipw</em>和<em>cliph</em>的解释请参考drawContents。
<p>在<a href="qlistview.html#drawContentsOffset">QListView</a>中被重新实现。
<h3 class=fn>void <a name="enableClipper"></a>QScrollView::enableClipper ( bool y )
</h3>
当大量的子窗口部件在滚动视图中时,特别是如果它们被一起关闭,滚动的效果可能会损失很多。如果<em>y</em>为真,滚动视图将使用一个额外的窗口部件来把这些子窗口部件组合起来。
<p> 注意你只能在添加窗口部件之前调用<a href="#enableClipper">enableClipper</a>()。
<p> 对于一个完全的讨论,请参考这个类的<a href="#enableclipper">详细描述</a>。
<p>实例:<a href="scrollview-example.html#x735">scrollview/scrollview.cpp</a>。
<h3 class=fn>void <a name="ensureVisible"></a>QScrollView::ensureVisible ( int x, int y )<tt> [槽]</tt>
</h3>
滚动内容,所以点<em>(x, y)</em>在至少50像素的边距内是可视的(如果可能,否则会放在中间)。
<h3 class=fn>void <a name="ensureVisible-2"></a>QScrollView::ensureVisible ( int x, int y, int xmargin, int ymargin )<tt> [槽]</tt>
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 滚动内容,所以点<em>(x, y)</em>在至少<em>xmargin</em>和<em>ymargin</em>的边距内是可视的(如果可能,否则会放在中间)。
<h3 class=fn>bool <a name="eventFilter"></a>QScrollView::eventFilter ( <a href="qobject.html">QObject</a> * obj, <a href="qevent.html">QEvent</a> * e )<tt> [虚 保护]</tt>
</h3>
这个事件过滤器保证当一个单一内容窗口部件被重新定义大小、显示、隐藏或者销毁时,滚动条会被更新,它把鼠标事件传递给QScrollView。这个事件在<em>e</em>中并且这个对象在<em>obj</em>中。
<p>从<a href="qobject.html#eventFilter">QObject</a>中重新实现的。
<p>在<a href="qlistview.html#eventFilter">QListView</a>中被重新实现。
<h3 class=fn><a href="qscrollview.html#ScrollBarMode-enum">ScrollBarMode</a> <a name="hScrollBarMode"></a>QScrollView::hScrollBarMode () const
</h3>
<p>返回水平滚动条的模式。详细情况请参考<a href="qscrollview.html#hScrollBarMode-prop">“hScrollBarMode”</a>属性。
<h3 class=fn>bool <a name="hasStaticBackground"></a>QScrollView::hasStaticBackground () const
</h3>
如果QScrollView使用静态背景,返回真,否则返回假。
<p>也可以参考<a href="#setStaticBackground">setStaticBackground</a>()。
<h3 class=fn><a href="qscrollbar.html">QScrollBar</a> * <a name="horizontalScrollBar"></a>QScrollView::horizontalScrollBar () const
</h3>
返回水平滚动条。它被用来允许快捷键、自动滚动等等和允许改变箭头滚动速度,也就是bar->setSteps( rate, bar->pageStep() )。
<p> 它不应该被其他方式操作。
<p> 这个函数从来不会返回0。
<h3 class=fn>int <a name="leftMargin"></a>QScrollView::leftMargin () const<tt> [保护]</tt>
</h3>
返回左边距。
<p>也可以参考<a href="#setMargins">setMargins</a>()。
<h3 class=fn>void <a name="moveChild"></a>QScrollView::moveChild ( <a href="qwidget.html">QWidget</a> * child, int x, int y )<tt> [虚]</tt>
</h3>
重新定义<em>child</em>窗口部件的位置为(<em>x</em>, <em>y</em>)。这个函数和<a href="#addChild">addChild</a>()是一样的。
<h3 class=fn>void <a name="removeChild"></a>QScrollView::removeChild ( <a href="qwidget.html">QWidget</a> * child )
</h3>
从滚动区域中移除<em>child</em>窗口部件。注意如果<em>child</em>被删除,这个操作将会自动发生。
<h3 class=fn>void <a name="repaintContents"></a>QScrollView::repaintContents ( int x, int y, int w, int h, bool erase = TRUE )
</h3>
在一个被适当转化的有<em>x</em>、<em>y</em>、<em>w</em>、<em>h</em>定义的矩形上调用<a href="qwidget.html#repaint">repaint</a>()。如果这个矩形不是可视的,那么就什么也没有被重新绘制。如果<em>erase</em>为真,背景会使用背景色来清空。
<p> <p>也可以参考<a href="#updateContents">updateContents</a>()。
<h3 class=fn>void <a name="repaintContents-2"></a>QScrollView::repaintContents ( const <a href="qrect.html">QRect</a> & r, bool erase = TRUE )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 重新绘制矩形<em>r</em>的内容。如果<em>erase</em>为真,背景会使用背景色来清空。
<h3 class=fn>void <a name="repaintContents-3"></a>QScrollView::repaintContents ( bool erase = TRUE )
</h3>
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
<p> 重新绘制内容。如果<em>erase</em>为真,背景会使用背景色来清空。
<h3 class=fn>void <a name="resizeContents"></a>QScrollView::resizeContents ( int w, int h )<tt> [virtual slot]</tt>
</h3>
设置内容区域的大小为<em>w</em>像素宽,<em>h</em>像素高并且因此更新视口。
<h3 class=fn><a href="qscrollview.html#ResizePolicy-enum">ResizePolicy</a> <a name="resizePolicy"></a>QScrollView::resizePolicy () const
</h3>
<p>返回当前重新定义大小的策略。详细情况请参考<a href="qscrollview.html#resizePolicy-prop">“resizePolicy”</a>属性。
<h3 class=fn>int <a name="rightMargin"></a>QScrollView::rightMargin () const<tt> [保护]</tt>
</h3>
返回右边距。
<p>也可以参考<a href="#setMargins">setMargins</a>()。
<h3 class=fn>void <a name="scrollBy"></a>QScrollView::scrollBy ( int dx, int dy )<tt> [槽]</tt>
</h3>
向左<em>dx</em>、向上<em>dy</em>滚动内容。
<h3 class=fn>void <a name="setContentsPos"></a>QScrollView::setContentsPos ( int x, int y )<tt> [virtual slot]</tt>
</h3>
滚动内容使点<em>(x, y)</em>在左上角。
<p>实例:<a href="process-example.html#x70">process/process.cpp</a>。
<h3 class=fn>void <a name="setCornerWidget"></a>QScrollView::setCornerWidget ( <a href="qwidget.html">QWidget</a> * corner )<tt> [虚]</tt>
</h3>
设置两个滚动条之间的窗口部件为<em>corner</em>。
<p> 你将也需要设置是少一个滚动条的默认为<a href="#ScrollBarMode-enum">AlwaysOn</a>。
<p> 传递0会在角落里不显示窗口部件。
<p> 任何以前的<em>corner</em>窗口部件被隐藏。
<p> 你可以多次调用使用同一个窗口部件的<a href="#setCornerWidget">setCornerWidget</a>()。
<p> 你在这里设置的所有窗口部件在QScrollView被销毁的时候都会被它删除,除非在设置完一些其它角落窗口部件(或者0)之后,把这个窗口部件重新定义父对象。
<p> 任何<em>最新</em>被放置的窗口部件不应该有当前的父对象。
<p> 默认情况下,没有角落窗口部件存在。
<p> <p>也可以参考<a href="#vScrollBarMode-prop">vScrollBarMode</a>和<a href="#hScrollBarMode-prop">hScrollBarMode</a>。
<p>实例:<a href="scrollview-example.html#x738">scrollview/scrollview.cpp</a>。
<h3 class=fn>void <a name="setDragAutoScroll"></a>QScrollView::setDragAutoScroll ( bool b )<tt> [虚]</tt>
</h3>
<p>设置在拖动移动事件中自动滚动是否生效为<em>b</em>。详细情况请参考<a href="qscrollview.html#dragAutoScroll-prop">“dragAutoScroll”</a>属性。
<h3 class=fn>void <a name="setHBarGeometry"></a>QScrollView::setHBarGeometry ( <a href="qscrollbar.html">QScrollBar</a> & hbar, int x, int y, int w, int h )<tt> [虚 保护]</tt>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -