窗体SecondAttempt里有一个我写的基于QImage的成图控件类FigureShow。如今界面可理解成类似Windows的画图界面,或者说类似Qt的Scribble的那个界面,上面是SecondAttempt的菜单栏,下面就是FigureShow成图,最下面是SecondAttempt的statusBar。
如今想要实现鼠标在FigureShow上移动时在SecondAttempt里显示出鼠标实时所在位置对应的FigureShow上的坐标。
我是这么写的:FigureShow里定义Q_SIGNALS叫void sendMouseLocation(int x,int y)发送鼠标位置,SecondAttempt里定义public slots为void recvMouseLocation(int x,int y)接受传来的x y值并在statusBar()上显示。
void FigureShow::mouseMoveEvent(QMouseEvent * event)里只有一句话:emit sendMouseLocation(event->x(),event->y());。
void SecondAttempt::recvMouseLocation(int x,int y)
{
statusBar()->showMessage(tr("Pixel:x=%1,y=%2").arg(x).arg(y));
}
感觉应该没什么问题,但运行时发现似乎必须鼠标某个按键在按下的时候才能触发,但我想实现鼠标不按下按键就达到这样的效果。请问要改什么地方?