GraphicsItem 鼠标点击事件出错??

yangjin123 2010-12-01 08:50:06
我在场景中创建并添加了三个项 代码如下:
QPixmap p1,p2,p3;
PicItem *item1=new PicItem(p1);
t_scene->addItem(item1);
item1->setPos(100,100);

PicItem *item2=new PicItem(p2);
t_scene->addItem(item2);
item2->setPos(200,200);

PicItem *item3=new PicItem(p2);
t_scene->addItem(item3);
item3->setPos(300,300);

PicItem类继承GraphicsItem类 部分成员函数如下:
void PicItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
QPointF start(100,100);
QPointF end(0,0);
addPositionAnimation(this,start,end);
}
void PicItem::addPositionAnimation(PicItem *item,QPointF start,QPointF end)
{
QPropertyAnimation* propertyAnimation = new QPropertyAnimation(item, "pos");
propertyAnimation->setDuration(1000);
propertyAnimation->setStartValue(start);
propertyAnimation->setEndValue(end);
propertyAnimation->setEasingCurve(QEasingCurve::InCirc);
propertyAnimation->start(QAbstractAnimation::DeleteWhenStopped);

}
问题:当第一次点击这三个项的中的任何一项,这项的位置会发生变化(调用了addPositionAnimation), 但随后再点击 剩下两项 时 依然是第一次点击的项位置发生变化 不知道为什么啊????
...全文
214 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2010-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yangjin123 的回复:]
谢谢。。。加上这句 GraphicsItem::mousePressEvent(event);是什么用意啊 ??
[/Quote]
就是调用父类的mousePressEvent函数,改函数中实现了很多必须操作。
yangjin123 2010-12-26
  • 打赏
  • 举报
回复
谢谢。。。加上这句 GraphicsItem::mousePressEvent(event);是什么用意啊 ??
hitexam 2010-12-25
  • 打赏
  • 举报
回复
void PicItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
QPointF start(100,100);
QPointF end(0,0);
addPositionAnimation(this,start,end);
GraphicsItem::mousePressEvent(event);
}
zhu_xz 2010-12-15
  • 打赏
  • 举报
回复
看看是哪个PicItem接收到了鼠标点击事件?
jxliuyunpeng 2010-12-15
  • 打赏
  • 举报
回复
调试跟踪一下
【模型预测控制MPC】面向复杂海洋环境的无人水面艇编队双层模型预测控制理论与鲁棒协同控制方法研究(Matlab代码实现)内容概要:本文围绕复杂海洋环境下无人水面艇(USVs)编队控制问题,提出了一种双层模型预测控制(MPC)理论与鲁棒协同控制方法。该方法结合分层预测控制架构,对多无人艇编队的运动学与动力学进行级联建模,通过上层优化规划与下层协同执行实现路径跟踪与编队稳定性控制。研究重点在于应对海洋环境中的不确定性扰动(如风浪流)、通信延迟及多约束耦合问题,提升编队系统的鲁棒性与协同精度。文中给出了完整的Matlab仿真代码实现,验证了所提方法在约束条件下仍能保持良好稳定性与轨迹跟踪性能。; 适合人群:具备自动控制、机器人或海洋工程等相关专业背景,熟悉Matlab仿真工具,从事多智能体协同控制、无人系统路径规划或模型预测控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多无人艇编队在复杂海况下的协同路径规划与鲁棒控制设计;②为研究分层MPC、分布式协同控制、抗干扰控制策略提供理论参考与代码实现范例;③支持科研复现、课程项目开发及工程原型验证。; 阅读建议:此资源以理论分析与Matlab代码实现相结合,建议读者在理解MPC基本原理的基础上,结合文档中的模型推导与仿真实验结果,动手运行并调试所提供的代码,深入掌握双层控制架构的设计逻辑与参数调优方法。
内容概要:本文研究了一种基于混沌系统与DNA编码的复合型彩色图像加密解密方案,通过融合混沌系统的伪随机性与DNA编码的高维扩散特性,实现对图像RGB三通道的多层级加密。方案采用“先置乱、再扩散”的设计思路,利用混沌序列对像素位置进行全局置乱,并结合DNA碱基映射与运算完成像素灰度值的二次扩散,显著提升加密复杂度与安全性。研究重点在于系统性分析该算法在多种干扰场景下的抗噪声与抗裁剪性能,验证其在高斯噪声、椒盐噪声及不同裁剪比例下的鲁棒性表现,弥补了现有研究在实际传输干扰应对方面的不足。; 适合人群:具备图像处理、信息安全或密码学基础知识的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于网络图像传输、医疗影像保护、军事通信等对安全性与鲁棒性要求较高的场景;②目标是在保证高安全性的前提下,确保加密图像在遭受噪声污染或部分数据丢失时仍能有效恢复关键信息,提升算法的实用性和工程适用性。; 阅读建议:建议结合Matlab/Python编程实践,复现加密解密流程与抗干扰测试,深入理解混沌序列生成、DNA编码规则及性能评估指标(如PSNR、NPCR、UACI)的应用,重点关注算法在不同攻击场景下的响应机制与优化潜力。

21,503

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧