当前位置: 首页 > news >正文

无锡企业网站wordpress按钮打开外部链接

无锡企业网站,wordpress按钮打开外部链接,宠物网站建设,做网站运营需要有什么能力前文链接#xff1a;QGraphicsView实现简易地图3『局部加载-地图缩放』 当鼠标拖动地图移动时#xff0c;需要实时增补和删减瓦片地图#xff0c;大致思路是计算地图从各方向移动时进出视口的瓦片坐标值#xff0c;根据变化后的瓦片坐标值来增减地图瓦片#xff0c;以下将…前文链接QGraphicsView实现简易地图3『局部加载-地图缩放』 当鼠标拖动地图移动时需要实时增补和删减瓦片地图大致思路是计算地图从各方向移动时进出视口的瓦片坐标值根据变化后的瓦片坐标值来增减地图瓦片以下将提供实现此需求的核心代码。 1、动态演示效果 2、静态展示图片 核心代码 void MapView::moveScene() {QString appPath QApplication::applicationDirPath();QString dirPath QString(%1/MapData/GaoDeMap/Map/MapPng/L0%2).arg(appPath).arg(m_curLevel 1);// 视口宽度和高度int w viewport()-width();int h viewport()-height();// 计算呈现的瓦片地图左上角的场景坐标和视口坐标、呈现的瓦片地图右下角的场景坐标和视口坐标QPoint topLeftScenePos(m_topLeftTileCoord.x * PIXMAP_SIZE, m_topLeftTileCoord.y * PIXMAP_SIZE);QPointF topLeftViewPos mapFromScene(topLeftScenePos);QPoint bottomRightScenePos(m_bottomRightTileCoord.x * PIXMAP_SIZE, m_bottomRightTileCoord.y * PIXMAP_SIZE);QPointF bottomRightViewPos mapFromScene(bottomRightScenePos);// 1、水平瓦片坐标控制判断最左侧瓦片是否完全进入视口、最右侧瓦片是否完全离开视口if (topLeftViewPos.x() 0){int count qCeil(topLeftViewPos.x() / PIXMAP_SIZE); // 左侧进入视口瓦片数量int oldLeftTileCoordX m_topLeftTileCoord.x; // 保存原左侧瓦片坐标Xm_topLeftTileCoord.x - count; // 更新现左侧瓦片坐标X// 增加从左侧进入视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col m_topLeftTileCoord.x; col oldLeftTileCoordX; col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (bottomRightViewPos.x() w){int count qFloor((bottomRightViewPos.x() - w) / PIXMAP_SIZE) 1; // 右侧离开视口瓦片数量int oldRightTileCoordX m_bottomRightTileCoord.x; // 保存原右侧瓦片坐标Xm_bottomRightTileCoord.x - count; // 更新现右侧瓦片坐标X// 删除从右侧离开视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col oldRightTileCoordX; col m_bottomRightTileCoord.x; --col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}}// 2、水平瓦片坐标控制判断最右侧瓦片是否完全进入视口、最左侧瓦片是否完全离开视口if (bottomRightViewPos.x() 255 w){int count qCeil((w - (bottomRightViewPos.x() 255)) / PIXMAP_SIZE); // 右侧进入视口瓦片数量int oldRightTileCoordX m_bottomRightTileCoord.x; // 保存原右侧瓦片坐标Xm_bottomRightTileCoord.x count; // 保存现右侧瓦片坐标X// 增加从右侧进入视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col m_bottomRightTileCoord.x; col oldRightTileCoordX; --col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (topLeftViewPos.x() 255 0){int count qFloor(fabs(topLeftViewPos.x()) / PIXMAP_SIZE); // 左侧离开视口瓦片数量int oldLeftTileCoordX m_topLeftTileCoord.x; // 保存原左侧瓦片坐标Xm_topLeftTileCoord.x count; // 保存现左侧瓦片坐标X// 删除从左侧离开视口的图片for (int row m_topLeftTileCoord.y; row m_bottomRightTileCoord.y; row){for (int col oldLeftTileCoordX; col m_topLeftTileCoord.x; col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}}// 3、垂直瓦片坐标控制判断最上侧瓦片是否完全进入视口最下侧瓦片是否完全离开视口if (topLeftViewPos.y() 0){int count qCeil(topLeftViewPos.y() / PIXMAP_SIZE); // 上侧进入视口瓦片数量int oldTopTileCoordY m_topLeftTileCoord.y; // 保存原上侧瓦片坐标Ym_topLeftTileCoord.y - count; // 保存现上侧瓦片坐标Y// 增加从上侧进入视口的图片for (int row m_topLeftTileCoord.y; row oldTopTileCoordY; row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (bottomRightViewPos.y() h){int count qFloor((bottomRightViewPos.y() - h) / PIXMAP_SIZE) 1; // 下侧离开视口瓦片数量int oldBottomTileCoordY m_bottomRightTileCoord.y; // 保存原下侧瓦片坐标Ym_bottomRightTileCoord.y - count; // 保存现下侧瓦片坐标Y// 删除从下侧离开视口的图片for (int row oldBottomTileCoordY; row m_bottomRightTileCoord.y; --row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}}// 4、垂直瓦片坐标控制判断最下侧瓦片是否完全进入视口最上侧瓦片是否完全离开视口if (bottomRightViewPos.y() 255 h){int count qCeil((h - (bottomRightViewPos.y() 255)) / PIXMAP_SIZE); // 下侧进入视口瓦片数量int oldBottomTileCoordY m_bottomRightTileCoord.y; // 保存原下侧瓦片坐标Ym_bottomRightTileCoord.y count; // 保存现下侧瓦片坐标Y// 增加从下侧进入视口的图片for (int row m_bottomRightTileCoord.y; row oldBottomTileCoordY; --row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QString fileName QString(%1/Map_%2-%3.png).arg(dirPath).arg(QString::number(row 1).rightJustified(2, 0)).arg(QString::number(col 1).rightJustified(2, 0));QPixmap pixmap(fileName);QGraphicsPixmapItem *item new QGraphicsPixmapItem(pixmap);item-setPos(PIXMAP_SIZE * col, PIXMAP_SIZE * row);m_scene-addItem(item);m_mapItems[row][col] item;}}}if (topLeftViewPos.y() 255 0){int count qFloor(fabs(topLeftViewPos.y()) / PIXMAP_SIZE); // 上侧离开视口瓦片数量int oldTopTileCoordY m_topLeftTileCoord.y; // 保存原上侧瓦片坐标Ym_topLeftTileCoord.y count; // 保存现上侧瓦片坐标Y// 删除从上侧离开视口的图片for (int row oldTopTileCoordY; row m_topLeftTileCoord.y; row){for (int col m_topLeftTileCoord.x; col m_bottomRightTileCoord.x; col){QGraphicsPixmapItem *item m_mapItems[row][col];m_scene-removeItem(item);m_mapItems[row].remove(col);delete item;}}} }
http://www.laogonggong.com/news/116540.html

相关文章:

  • 做阿里云网站空间wordpress手机版中文版
  • 个人怎么建立网站吗wordpress 优化
  • 大型门户网站建设费用黄骅港站
  • 个人手机网站建设网络营销的六大特征
  • 提供网站建设公司做网站要求什么软件
  • 网站添加新闻建设移动门户网站
  • 医疗号网站开发网站源码天堂
  • 网站改版建设征求意见书网站信息内容建设自查
  • 超酷html5效果的工作室网站程序入门级网页设计培训学员
  • 武大网站建设网站建设 网页设计
  • 建立网站用什么软件网站自定义301
  • 中山网站建设方案外包法律行业做的比较好的平台网站
  • 网站建设公司友情链接苏州app推广团队
  • 工程网站开发企业网址是怎么写的
  • 怎么建设网站最便宜app中调用wordpress
  • 网站后台更新文章 前台不显示wordpress可以建哪些网站吗
  • 网站服务器租用一年多少钱啊千阳县住房和城乡建设局网站
  • 福建龙泉建设有限公司网站做公司网站的模板
  • 南昌做网站建设哪家好网站的数据库是什么
  • 做网站的电话号码一个简单的html代码
  • 湖南手机版建站系统哪家好东莞市建
  • 建设网站海报文案互联网开发技术
  • 如何介绍网站模板下载地址如何用wordpress做产品详情页
  • 陕西网站开发wordpress 插件 语言
  • 昆明公司网站优化深圳做网站多少
  • 西宁设计网站yahoo网站提交
  • dede新手做网站多久怎么开发一个网站项目
  • 网站建设中数据安全研究东莞保安公司招聘电话
  • 自己网站建设的流程是什么网站建设需求确认表
  • 网站推广都有哪些南昌建网站做优化公司