关于怎么开启事件
求助关于如何开启事件
目前做了1个小的绘图程序,图元已经生成了,我现在需要在图板上点击鼠标左键,将选中的图元,显示在绘图板上。
图元是用tabwidget显示了很多项的图片资源,每一项下面是N个qlabel显示的图片。
图板用了1个QGroupBox,设置为中心部件。目前我想获取鼠标在绘图板上的位置,就需要用到mousemove事件,单击图板将选中的图元显示在图板上,需要用到mousepress事件,拖动图板上的图片到一个新的位置,需要用到mousemove及mouserelese事件,请问这些事件,怎么利用呢?怎么开启这些事件。
以前我是做C#的,C#里面,我写好绘图板后,只需要注册个事件就好了,如下:
ShapeForSelectEqu.MouseDown += new MouseEventHandler(ShapeForSelectEqu_MouseDown);
ShapeForSelectEqu.MouseMove += new MouseEventHandler(ShapeForSelectEqu_MouseMove);
ShapeForSelectEqu.MouseUp += new MouseEventHandler(ShapeForSelectEqu_MouseUp);
然后分别写一下对应的函数就好了。
QT里面怎么写呢?求助例子~谢谢
------解决方案--------------------
重写QWidget对应的鼠标事件处理函数就可以了,QWidget有如下鼠标处理函数:
virtual void mouseDoubleClickEvent ( QMouseEvent * event )
virtual void mouseMoveEvent ( QMouseEvent * event )
virtual void mousePressEvent ( QMouseEvent * event )
virtual void mouseReleaseEvent ( QMouseEvent * event )
virtual void moveEvent ( QMoveEvent * event )
QMoveEvent 参数当中包含点击的鼠标信息,以及点击的位置信息。
------解决方案--------------------
你可以参考一下Qt对应的Demo,有一个Ported Canvas就是实现跟你说的类似的功能的,源代码在
【Qt安装目录】\examples\graphicsview\portedcanvas
------解决方案--------------------
+1
------解决方案--------------------
不用继承类,直接在你的mainform里面重写就可以了。
目前做了1个小的绘图程序,图元已经生成了,我现在需要在图板上点击鼠标左键,将选中的图元,显示在绘图板上。
图元是用tabwidget显示了很多项的图片资源,每一项下面是N个qlabel显示的图片。
图板用了1个QGroupBox,设置为中心部件。目前我想获取鼠标在绘图板上的位置,就需要用到mousemove事件,单击图板将选中的图元显示在图板上,需要用到mousepress事件,拖动图板上的图片到一个新的位置,需要用到mousemove及mouserelese事件,请问这些事件,怎么利用呢?怎么开启这些事件。
以前我是做C#的,C#里面,我写好绘图板后,只需要注册个事件就好了,如下:
ShapeForSelectEqu.MouseDown += new MouseEventHandler(ShapeForSelectEqu_MouseDown);
ShapeForSelectEqu.MouseMove += new MouseEventHandler(ShapeForSelectEqu_MouseMove);
ShapeForSelectEqu.MouseUp += new MouseEventHandler(ShapeForSelectEqu_MouseUp);
然后分别写一下对应的函数就好了。
QT里面怎么写呢?求助例子~谢谢
------解决方案--------------------
重写QWidget对应的鼠标事件处理函数就可以了,QWidget有如下鼠标处理函数:
virtual void mouseDoubleClickEvent ( QMouseEvent * event )
virtual void mouseMoveEvent ( QMouseEvent * event )
virtual void mousePressEvent ( QMouseEvent * event )
virtual void mouseReleaseEvent ( QMouseEvent * event )
virtual void moveEvent ( QMoveEvent * event )
QMoveEvent 参数当中包含点击的鼠标信息,以及点击的位置信息。
------解决方案--------------------
你可以参考一下Qt对应的Demo,有一个Ported Canvas就是实现跟你说的类似的功能的,源代码在
【Qt安装目录】\examples\graphicsview\portedcanvas
------解决方案--------------------
+1
------解决方案--------------------
不用继承类,直接在你的mainform里面重写就可以了。