⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawmap1.cpp

📁 在LINUX下实现路径规划的程序中的主菜单界面的编辑程序。
💻 CPP
字号:
#include <qapplication.h>#include <qpainter.h>#include<qstring.h>#include <stdio.h>#include<qscrollview.h>#include<qtextcodec.h>#include<qfont.h>#include "drawmap1.h"//#include "WayPoint.h"//#include "AStar.h"#include <iostream.h>struct data{ int a; int b;}data;int startid;int endid;Routemap::Routemap(QWidget *parent,const char *name)       :QWidget(parent,name){     cout<<startid<<endl<<endid<<endl;    setBackgroundColor(QColor(222,225,186));        setFixedSize(1500,1800);    TPinfo.ReadWayPointFile("TuoPu.txt");    GHpath.InitNodeByWayPoint(&TPinfo);    GHpath.FindPath(startid,endid,&TPinfo);}void Routemap::paintEvent(QPaintEvent *){    FILE *fd;  // char code;  char st[20];   int FromNode,ToNode,num,i;   int x,y;   // CWayPoint TPinfo;  // CAStar GHpath;  // TPinfo.ReadWayPointFile("TuoPu.txt");  // GHpath.InitNodeByWayPoint(&TPinfo);  // GHpath.FindPath(800,1000,&TPinfo);   QPainter p(this);  // p.setPen(QPen(QColor(2,142,188),1,SolidLine));   if((fd=fopen("RoadCd.txt","r"))!=NULL)   {     while(fscanf(fd,"%d %d %d\n",&FromNode,&ToNode,&num)==3)     {      fscanf(fd,"%d %d\n",&x,&y);      data.a=2*500*(x - 120081078)/167662;      data.b=2*600*(30374923 - y)/(30374923 - 30171339);     for(i=GHpath.PathPointCount;i>1;i--)     {      if(((FromNode==GHpath.PathList[i-1])&&(ToNode==GHpath.PathList[i-2]))||((ToNode==GHpath.PathList[i-1])&&(FromNode==GHpath.PathList[i-2])))      {       p.setPen(QPen(QColor(0,0,0),3,SolidLine));       break;      }      else       p.setPen(QPen(QColor(2,142,188),1,SolidLine));     }      p.moveTo(data.a,data.b);      for(i=1;i<num;i++)      {       fscanf(fd,"%d %d\n",&x,&y);       data.a=2*500*(x - 120081078)/167662;       data.b=2*600*(30374923 - y)/(30374923 - 30171339);       p.lineTo(data.a,data.b);      }     }   }   fclose(fd);     if((fd=fopen("RoadCdCyc.txt","r"))!=NULL)   {    while(fscanf(fd,"%d %d %d\n",&FromNode,&ToNode,&num)==3)    {     fscanf(fd,"%d %d\n",&x,&y);     data.a=2*500*(x - 120081078)/167662;     data.b=2*600*(30374923 - y)/(30374923 - 30171339);     p.setPen(QPen(QColor(2,142,188),1,SolidLine));     p.moveTo(data.a,data.b);     for(i=1;i<num;i++)      {       fscanf(fd,"%d %d\n",&x,&y);       data.a=2*500*(x - 120081078)/167662;       data.b=2*600*(30374923 - y)/(30374923 - 30171339);       p.lineTo(data.a,data.b);      }     }    }    fclose(fd); if((fd=fopen("poi.txt","r"))!=NULL)   {    while(fscanf(fd,"%d %d %s\n",&x,&y,st)==3)    {     p.setPen(QColor(0,0,0));     p.setBrush(QColor("black"));     data.a=(int)(2*500*(x-120081078)/167662);     data.b=(int)(2*600*(30374923-y)/(30374923-30171339));     p.drawEllipse(data.a,data.b,5,5);     QTextCodec *codec = QTextCodec::codecForName("GBK");     QString s1 = codec->toUnicode (st)  ;    // p.translate(data.a,data.b);    // p.rotate(an);     p.drawText(data.a,data.b,s1);    // p.rotate(-an);    // p.translate(-data.a,-data.b);     }   }fclose(fd);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -