加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
MapMap.cpp 1.57 KB
一键复制 编辑 原始数据 按行查看 历史
ZLT 提交于 2023-06-14 06:18 . 添加基础
#include "MapMap.h"
#include "ui_mapmap.h"
#include <QFileDialog>
#include "GlobalManage.h"
#include "interactivemap.h"
MapMap::MapMap(GlobalManage * global,QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MapMap)
,m_global(global)
{
ui->setupUi(this);
m_InteractiveMap = ui->centralwidget;
IniMap();
}
MapMap::~MapMap()
{
ConfigureFileRecords();
delete ui;
delete m_global;
}
void MapMap::on_actionopenMap_triggered()
{
QString path = QFileDialog::getExistingDirectory(this, tr("选择海图路径"));
if(!path.isEmpty())
{
m_global->m_MapFilePath = path;
m_InteractiveMap->setTilePath(m_global->m_MapFilePath);
}
}
void MapMap::IniMap()
{
m_InteractiveMap->setTilePath(m_global->m_MapFilePath);
m_InteractiveMap->setDragMode(QGraphicsView::ScrollHandDrag);
m_InteractiveMap->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
m_InteractiveMap->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
m_InteractiveMap->setDragMode(QGraphicsView::ScrollHandDrag);
m_InteractiveMap->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
m_InteractiveMap->setTMSMode(false);
m_InteractiveMap->centerOn(m_global->m_CenterOn);
m_InteractiveMap->setZoomLevel(m_global->m_ZoomLevel);
}
void MapMap::ConfigureFileRecords()
{
m_global->m_ZoomLevel = m_InteractiveMap->zoomLevel();//记录缩放比例
m_global->m_CenterOn = m_InteractiveMap->centerCoordinates();
m_global->WriteConfigurationFile();//保存在配置文件
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化