📄 class_qwt_picker.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Qwt User's Guide: QwtPicker Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.6 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li id="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul></div><h1>QwtPicker Class Reference</h1><!-- doxytag: class="QwtPicker" --><!-- doxytag: inherits="QwtEventPattern" -->Inheritance diagram for QwtPicker:<p><center><img src="class_qwt_picker__inherit__graph.png" border="0" usemap="#_qwt_picker__inherit__map" alt="Inheritance graph"></center><map name="_qwt_picker__inherit__map"><area href="class_qwt_plot_picker.html" shape="rect" coords="16,157,120,181" alt=""><area href="class_qwt_event_pattern.html" shape="rect" coords="7,8,129,32" alt=""><area href="class_qwt_plot_zoomer.html" shape="rect" coords="11,232,125,256" alt=""></map><center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for QwtPicker:<p><center><img src="class_qwt_picker__coll__graph.png" border="0" usemap="#_qwt_picker__coll__map" alt="Collaboration graph"></center><map name="_qwt_picker__coll__map"><area href="class_qwt_event_pattern.html" shape="rect" coords="7,8,129,32" alt=""></map><center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_qwt_picker-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><a class="el" href="class_qwt_picker.html">QwtPicker</a> provides selections on a widget. <p><a class="el" href="class_qwt_picker.html">QwtPicker</a> filters all mouse and keyboard events of a widget and translates them into an array of selected points. Depending on the <a class="el" href="class_qwt_picker.html#446d9f87a6796d62949c62d77c51e3eb">QwtPicker::SelectionType</a> the selection might be a single point, a rectangle or a polygon. The selection process is supported by optional rubberbands (rubberband selection) and position trackers.<p><a class="el" href="class_qwt_picker.html">QwtPicker</a> is useful for widgets where the event handlers can磘 be overloaded, like for components of composite widgets. It offers alternative handlers for mouse and key events.<p><dl compact><dt><b>Example </b></dt><dd><div class="fragment"><pre class="fragment">#include <qwt_picker.h>QwtPicker *picker = new QwtPicker(widget);picker->setTrackerMode(QwtPicker::ActiveOnly);connect(picker, SIGNAL(selected(const QwtPolygon &)), ...);// emit the position of clicks on widgetpicker->setSelectionFlags(QwtPicker::PointSelection | QwtPicker::ClickSelection); ... // now select rectanglespicker->setSelectionFlags(QwtPicker::RectSelection | QwtPicker::DragSelection);picker->setRubberBand(QwtPicker::RectRubberBand); </pre></div><br></dd></dl>The selection process uses the commands <a class="el" href="class_qwt_picker.html#49cb19aea451e275c5d376235e5a1d83">begin()</a>, <a class="el" href="class_qwt_picker.html#5dd2e0ce6b2a6cc50e345ec13aef9255">append()</a>, <a class="el" href="class_qwt_picker.html#59d92670978f200edb61e429afa06542">move()</a> and <a class="el" href="class_qwt_picker.html#d258c518257cf2f52326905a36efb0c4">end()</a>. <a class="el" href="class_qwt_picker.html#5dd2e0ce6b2a6cc50e345ec13aef9255">append()</a> adds a new point to the selection, <a class="el" href="class_qwt_picker.html#59d92670978f200edb61e429afa06542">move()</a> changes the position of the latest point.<p>The commands are initiated from a small state machine (<a class="el" href="class_qwt_picker_machine.html">QwtPickerMachine</a>) that translates mouse and key events. There are a couple of predefined state machines for point, rect and polygon selections. The <a class="el" href="class_qwt_picker.html#d8e6fc50cd841e543a359c099024c448">selectionFlags()</a> control which one should be used. It is possible to use other machines by overloading <a class="el" href="class_qwt_picker.html#aad63b94d03f8ebb363ed51d7c2a0dd2">stateMachine()</a>.<p>The picker is active (<a class="el" href="class_qwt_picker.html#f825f383c74928d1541f139e102983f9">isActive()</a>), between <a class="el" href="class_qwt_picker.html#49cb19aea451e275c5d376235e5a1d83">begin()</a> and <a class="el" href="class_qwt_picker.html#d258c518257cf2f52326905a36efb0c4">end()</a>. In active state the rubberband is displayed, and the tracker is visible in case of trackerMode is ActiveOnly or AlwaysOn.<p>The cursor can be moved using the arrow keys. All selections can be aborted using the abort key. (<a class="el" href="class_qwt_event_pattern.html#8fb57ceb9982d5583a1bf568e37d3007">QwtEventPattern::KeyPatternCode</a>)<p><dl compact><dt><b>Warning:</b></dt><dd>In case of QWidget::NoFocus the focus policy of the observed widget is set to QWidget::WheelFocus and mouse tracking will be manipulated for ClickSelection while the picker is active, or if <a class="el" href="class_qwt_picker.html#0647370ed08612d2a55742dc00f6acb7">trackerMode()</a> is AlwayOn. </dd></dl><p><p>Definition at line <a class="el" href="qwt__picker_8h-source.html#l00080">80</a> of file <a class="el" href="qwt__picker_8h-source.html">qwt_picker.h</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Types</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#446d9f87a6796d62949c62d77c51e3eb">SelectionType</a> { <br> <b>NoSelection</b> = 0, <br> <b>PointSelection</b> = 1, <br> <b>RectSelection</b> = 2, <br> <b>PolygonSelection</b> = 4<br> }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#7417aae2fb1ba27fa864ac153df18b6c">RectSelectionType</a> { <br> <b>CornerToCorner</b> = 64, <br> <b>CenterToCorner</b> = 128, <br> <b>CenterToRadius</b> = 256<br> }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#7fde641b6e2514f5271106a1cedd8718">SelectionMode</a> { <br> <b>ClickSelection</b> = 1024, <br> <b>DragSelection</b> = 2048<br> }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#b36c79d8ff20aba5b778d2823c1f7894">RubberBand</a> { <br> <b>NoRubberBand</b> = 0, <br> <b>HLineRubberBand</b>, <br> <b>VLineRubberBand</b>, <br> <b>CrossRubberBand</b>, <br> <b>RectRubberBand</b>, <br> <b>EllipseRubberBand</b>, <br> <b>PolygonRubberBand</b>, <br> <b>UserRubberBand</b> = 100<br> }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#01be4d404ffc3a7b238b0d0aaeb66b93">DisplayMode</a> { <br> <b>AlwaysOff</b>, <br> <b>AlwaysOn</b>, <br> <b>ActiveOnly</b><br> }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#b3c894deed026f392496dd07809a6fd3">ResizeMode</a> { <br> <b>Stretch</b>, <br> <b>KeepSize</b><br> }</td></tr><tr><td colspan="2"><br><h2>Signals</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#dc217b13621f291dd2ba081e2c28e4f4">selected</a> (const QwtPolygon &pa)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#d52219271a7c8efab35ded14ac89827a">appended</a> (const QPoint &pos)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#dddb4800c1dac0ba807e731f45d40742">moved</a> (const QPoint &pos)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#dc25f36804c8a9fe24bb8640a73c4051">changed</a> (const QwtPolygon &pa)</td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f9a5f4b0e4b37e2f323e801aa9dd6fe1">QwtPicker</a> (QWidget *parent)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#d02f607bedf6ef3630f931fc6712db2f">QwtPicker</a> (int selectionFlags, <a class="el" href="class_qwt_picker.html#b36c79d8ff20aba5b778d2823c1f7894">RubberBand</a> rubberBand, <a class="el" href="class_qwt_picker.html#01be4d404ffc3a7b238b0d0aaeb66b93">DisplayMode</a> trackerMode, QWidget *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#5d0906a0d3b12e0e44499f855cb9dab1">~QwtPicker</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#e93fe995c8c581ac33a9f3445ea5e7b9">setSelectionFlags</a> (int)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#d8e6fc50cd841e543a359c099024c448">selectionFlags</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#83096bad2662e02e4914a7b40241c351">setRubberBand</a> (<a class="el" href="class_qwt_picker.html#b36c79d8ff20aba5b778d2823c1f7894">RubberBand</a>)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_qwt_picker.html#b36c79d8ff20aba5b778d2823c1f7894">RubberBand</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#6a7af18636587af2c11a6c060929403a">rubberBand</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#94fc60c7223cdc470ae63156f6446d6f">setTrackerMode</a> (<a class="el" href="class_qwt_picker.html#01be4d404ffc3a7b238b0d0aaeb66b93">DisplayMode</a>)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_qwt_picker.html#01be4d404ffc3a7b238b0d0aaeb66b93">DisplayMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#0647370ed08612d2a55742dc00f6acb7">trackerMode</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f85c8a3c709bd106d2b34b718a746e03">setResizeMode</a> (<a class="el" href="class_qwt_picker.html#b3c894deed026f392496dd07809a6fd3">ResizeMode</a>)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_qwt_picker.html#b3c894deed026f392496dd07809a6fd3">ResizeMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#684032c8aea570b069da2f8193760df9">resizeMode</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#13117b1929f1ca00a75002f7f4c612bc">setRubberBandPen</a> (const QPen &)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">QPen </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#074492301e00535def0fe2cb449fba37">rubberBandPen</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f703bc51cda716e503cbd86731270e5b">setTrackerPen</a> (const QPen &)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">QPen </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#a45bf8a52ea95bdf63e2225ec7fa8063">trackerPen</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#9f54cce7d2e3f6e06351315bf655d5d9">setTrackerFont</a> (const QFont &)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">QFont </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#e87b2ac560d8795a302ee00c0ff0ab3d">trackerFont</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#984299a27421d57291bb84c8c08df4e5">isEnabled</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#a590756369efae6ebf323302a0af5d36">setEnabled</a> (bool)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f825f383c74928d1541f139e102983f9">isActive</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#c149f9cb8fb068f31871e1fe450c376e">eventFilter</a> (QObject *, QEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">QWidget * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#da0c12257e006f0066d22c3eb83f667e">parentWidget</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const QWidget * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#250dc5daf40a049f8db1f7ed730802d3">parentWidget</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QRect </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#0e5cd6fc09ec2f3bfa9a766067b518a6">pickRect</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const QwtPolygon & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#c1eb6aa4b264116ac7411ae799862676">selection</a> () const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#4848b0a4ca94d4160fdcf29c73982bef">drawRubberBand</a> (QPainter *) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#74c471c27ced5e7a5d59455bcd7d8290">drawTracker</a> (QPainter *) const </td></tr><tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#c59b7fde6b198f76ea91b4b1a4015af5">accept</a> (QwtPolygon &selection) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#90f9f3485f054c36c1835931e9a387dd">transition</a> (const QEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#49cb19aea451e275c5d376235e5a1d83">begin</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#5dd2e0ce6b2a6cc50e345ec13aef9255">append</a> (const QPoint &)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#59d92670978f200edb61e429afa06542">move</a> (const QPoint &)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#d258c518257cf2f52326905a36efb0c4">end</a> (bool ok=true)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#4bfae8da37c3936ae73d4798cca4a3d9">widgetMousePressEvent</a> (QMouseEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#c009633e005b6290e07b902f2a58e45e">widgetMouseReleaseEvent</a> (QMouseEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f1ffb07c24be57cd4a753b04412b3212">widgetMouseDoubleClickEvent</a> (QMouseEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#88b203109a4d3b26c2e0bee110c56c9d">widgetMouseMoveEvent</a> (QMouseEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f92ffabe291a6254378dc932c5cce0a7">widgetWheelEvent</a> (QWheelEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#f5bc441b2fc143363563922a3b3c70ae">widgetKeyPressEvent</a> (QKeyEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#9f2c739a619be794b22a10ede9674a1e">widgetKeyReleaseEvent</a> (QKeyEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#8a2a18f2b98c8524b1d3684df44c24aa">widgetLeaveEvent</a> (QEvent *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12ca49ce032609973efc6f261078d1e3"></a><!-- doxytag: member="QwtPicker::trackerRect" ref="12ca49ce032609973efc6f261078d1e3" args="(QPainter *painter) const " -->QRect </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#12ca49ce032609973efc6f261078d1e3">trackerRect</a> (QPainter *painter) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_qwt_picker.html#24b0e4bcf6a9b7f41c81ea19305105a8">stretchSelection</a> (const QSize &oldSize, const QSize &newSize)</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -