• 7682阅读
  • 8回复

走过路过的帮小弟看看  关于QGraphicsView中的动画 [复制链接]

上一主题 下一主题
离线lanjianchun
 
只看楼主 正序阅读 楼主  发表于: 2011-10-05
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-10-10) —
小弟的毕业设计  GPS电子地图  目前地图能在QT上显示   GPS的串口测试程序也做好了   现在就是要把测试程序
加到QT中  问题来了   地图是用mitab源码读取MIF文件   得到折线,矩形,字符,椭圆等,然后additem 把图形加载到QGraphicsScene中

我要实现的是根据GPS数据的经纬度 在QGraphicsview中显示一个点  下面是我的做法:

创建一个mypoint的类 继承public QGraphicsItem,public QObject
public:
    mypoint();
    QRectF boundingRect() const;                //区域
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);           //重绘
    void timerEvent(QTimerEvent *);           //每秒接受处理一次GPS数据
    QPointF convertCoord(double x,double y);           //经纬度坐标转换为QGraphicsScene中的坐标

然后在在主界面
mypoint *mypoint=new mypoint;
    scene->addItem(mypoint);

结果程序老是出问题      我是参考QT4精彩实例分析中的动画 那个实例做的

还有就是 前面scene中添加的都是静态的地图   然后最后添加的那个点 是要运动的    在mypoint中调用重绘  会不会把前面静态的也重绘啊!

不知道我这么想行不行     如果有好点的方案 希望大侠给小弟一点提示

  这是错误  

离线lanjianchun
只看该作者 8楼 发表于: 2011-10-10
回 7楼(pbe_sedm) 的帖子
GOOGLE 下载的地图精度不是很高吧   我学校的就那一点   两张图片就显示完了
所以我就用mapinfo做的  呵呵
离线pbe_sedm

只看该作者 7楼 发表于: 2011-10-08
呵呵,我以前也用mapinfo做过,做出来的地图看上去让人那个纠结,跟谷歌一比,毅然决然放弃了,改用谷歌的地图,具体方法就是从网上去下载谷歌的地图,当然这个下载是很讲究的,谷歌地图都是256*256像素大小的小切片,通过这些地图切片合成一张大地图,每张小切片都有对应的左上角经纬度和右下角经纬度,谷歌的地图一共有19层,按4倍增长,依照这个方法绘制出来的地图很完美了,有了这些准备工作,接下来就是将获取的GPS坐标在地图上定位了,这是个要花点精力的地方,用Qt的QGraphicsView + QGraphicsScene + QGraphicsItem,可以做出非常理想的谷歌离线地图了,当然这些地图是有范围的了,例如天津市、北京市等等,范围太大下起来很费劲,足够应付你的毕业设计了!
离线roywillow

只看该作者 6楼 发表于: 2011-10-07
你public QGraphicsItem,public QObject这么继承其实没必要的,我记得QGraphicsObject已经完美地给你继承好了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线lanjianchun
只看该作者 5楼 发表于: 2011-10-07
上面的问题也解决了  真纠结

关于类继承public QGraphicsItem,public QObject

一定要 把QObject 放前面

改好了  但是 根本不会重绘  我加了个QDubug  在 timerEvent中  终端没调试信息输出
离线lanjianchun
只看该作者 4楼 发表于: 2011-10-07
谢谢楼上  这个错误解决了   不过现在是moc_mapWidget.cpp  和 moc_mypoint.cpp出错了


说什么staticMetaObject  qt_metacast  qt_metacall   这三个不是QGraphicsItem的成员
离线164133811
只看该作者 3楼 发表于: 2011-10-06
定义的变量名咋个和你的类名是一样的
离线lanjianchun
只看该作者 2楼 发表于: 2011-10-06
   每隔1小时看看有没人答复   想多了
离线lanjianchun
只看该作者 1楼 发表于: 2011-10-05
纠结 5天了   从10月1开始弄这个 希望在这能得到解决
快速回复
限100 字节
 
上一个 下一个