qt重写mouseMoveEvent后不显示标签解决办法

void myview::mouseMoveEvent(QMouseEvent* event)
{

	viewPoint = event->pos();
	scenePoint = mapToScene(viewPoint);
	scenePointDispaly.setText("Coordinate:(" + QString::number(scenePoint.x()) + "," + QString::number(scenePoint.y()) + ")");
	scenePointDispaly.setGeometry(QRect(1650, 0, 300, 30));
	//qDebug() << "QString::number(scenePoint.x()) = " << QString::number(scenePoint.x()) << endl;
	scenePointDispaly.setParent(this);
}

项目遇到一个将光标在scene的坐标显示到label,然后label加到scene中。如图已经重写了mouseMoveEvent事件,debug的时候也可以将位置信息xy打印出来,但调试的时候就是看不到显示坐标的标签,myview的构造函数里面也加上了setMouseTracking(true);搞不懂,后面发现把设置text等语句加到myview的构造函数里面就可以了(代码如下),不是很明白原理,在此记录一下

myview::myview(QWidget* parent)
	: QGraphicsView(parent)
{
	setMouseTracking(true);

	scenePointDispaly.setText("Coordinate:(" + QString::number(scenePoint.x()) + "," + QString::number(scenePoint.y()) + ")");
	scenePointDispaly.setGeometry(QRect(1650, 0, 300, 30));
	//qDebug() << "QString::number(scenePoint.x()) = " << QString::number(scenePoint.x()) << endl;
	scenePointDispaly.setParent(this);


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值