VS+Qt+C++旅游景区地图导航源码实例

这篇具有很好参考价值的文章主要介绍了VS+Qt+C++旅游景区地图导航源码实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  程序示例精选

VS+Qt+C++旅游景区地图导航

如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对<<VS+Qt+C++旅游景区地图导航>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


文章目录

一、所需工具软件

二、使用步骤

        1. 引入库

        2. 代码实现

        3. 运行结果

三、在线协助

一、所需工具软件

1. VS, Qt

2. C++

二、使用步骤

1.引入库

#include "MainWindow.h"
#include<iostream>

#include<qDebug>
#include<QFile>
#include <QBitmap>
#include <QPainter>
#include<QImage>
#include<QPixmap>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QPointF>
#include <QLineF>

2. 代码实现

代码如下:

.h*************************************
#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_MainWindow.h"

#include <qDebug>

class MainWindow : public QMainWindow
{
	Q_OBJECT

public:
	MainWindow(QWidget *parent = Q_NULLPTR);

protected:


private:
	Ui::MainWindowClass ui;

private slots:
	void OnSearch();
	void mapBackGround();
	void initStyleSheetTitle();
	void paintEvent(QPaintEvent* event);

	void initStyleSheetMapButton();
	void initStyleSheetButton();
	void initStyleSheetLabel();


};

.cpp********************************
MainWindow::MainWindow(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);

	QObject::connect(ui.pushButton_7, SIGNAL(clicked()), this, SLOT(OnSearch()));
    ui.frame->setFrameStyle(QFrame::NoFrame);
    ui.frame_3->setFrameStyle(QFrame::NoFrame);
}


void MainWindow::mouseDoubleClickEvent(QMouseEvent* event)
{
    int x = pos.x();
    int y = pos.y();
    qDebug() << "Double clicked at (" << x << "," << y << ")";
}

void MainWindow::OnSearch()
{
	std::cout << "modelRun" << std::endl;

    QString startPos = ui.comboBox->currentText();
    QString endPos = ui.comboBox_2->currentText();
    qDebug() << "startPos: " << startPos;
    qDebug() << "endPos: " << endPos;

    if (startPos == QStringLiteral("孔子文化园") | startPos == QStringLiteral("碰碰车"))
    {
        qDebug() << QStringLiteral("孔子文化园") ;
        // 添加两个点坐标
        QPointF point1(165, 228);
        QPointF point2(271, 218);
        QPointF point3(310, 95);
        // 设置GraphicsView的大小
        ui.graphicsView->setRenderHint(QPainter::Antialiasing); // 设置抗锯齿渲染
        ui.graphicsView->setAlignment(Qt::AlignLeft | Qt::AlignTop); // 设置对齐方式
        ui.graphicsView->setResizeAnchor(QGraphicsView::AnchorUnderMouse); // 设置缩放锚点为鼠标位置
        ui.graphicsView->setDragMode(QGraphicsView::ScrollHandDrag); // 设置拖拽模式为滚动手势拖拽

        QPen pen(Qt::red); // 设置线条颜色为红色
        pen.setWidth(2);   // 设置线宽为2

        // 在graphicsView_2的坐标系下绘制圆
        int radius = 25;
        int borderWidth = 5; // 壁厚
        pen.setWidth(borderWidth); // 设置线宽
        scene->addEllipse(point1.x() - (radius - borderWidth),
            point1.y() - (radius - borderWidth),
            (radius - borderWidth) * 2,
            (radius - borderWidth) * 2,
            pen, QBrush(Qt::NoBrush));
        scene->addEllipse(point2.x() - (radius - borderWidth),
            point2.y() - (radius - borderWidth),
            (radius - borderWidth) * 2,
            (radius - borderWidth) * 2,
            pen, QBrush(Qt::NoBrush));
        scene->addEllipse(point3.x() - (radius - borderWidth),
            point3.y() - (radius - borderWidth),
            (radius - borderWidth) * 2,
            (radius - borderWidth) * 2,
            pen, QBrush(Qt::NoBrush));

        // 绘制线段
        scene->addLine(QLineF(point1, point2), pen);
        scene->addLine(QLineF(point2, point3), pen);
    }

}



void MainWindow::initStyleSheetTitle()
{

    QString cssStr = "./style/style_label_title.css";
    QFile file(cssStr);
    if (file.open(QFile::ReadOnly))
    {
        QString qss = QLatin1String(file.readAll());
        ui.label->setStyleSheet(qss);
        file.close();
    }
    else {
        qDebug() << "Failed to open CSS file: " << file.fileName();
    }

}

void MainWindow::mapBackGround()
{
    QString cssStr = "./style/style_frame_mapBG.css";
    QString qss;
    QFile file(cssStr);
    if (file.open(QFile::ReadOnly))
    {
        qss = QLatin1String(file.readAll());
        //ui.frame_2->setStyleSheet(qss);
        file.close();
    }
    else {
        qDebug() << "Failed to open CSS file: " << file.fileName();
    }
}

void MainWindow::initStyleSheetButton()
{

    QString cssStr = "./style/style_pushButton.css";
    QString qss;
    QFile file(cssStr);
    if (file.open(QFile::ReadOnly))
    {
        qss = QLatin1String(file.readAll());
        ui.pushButton_7->setStyleSheet(qss);
        file.close();
    }
    else {
        qDebug() << "Failed to open CSS file: " << file.fileName();
    }

}


void MainWindow::initStyleSheetMapButton()
{

    QString cssStr = "./style/style_pushButton_map.css";
    QString qss;
    QFile file(cssStr);
    if (file.open(QFile::ReadOnly))
    {
        qss = QLatin1String(file.readAll());
        //ui.pushButton_3->setStyleSheet(qss);
        //ui.pushButton_4->setStyleSheet(qss);
        //ui.pushButton_5->setStyleSheet(qss);
        //ui.pushButton_6->setStyleSheet(qss);
        file.close();
    }
    else {
        qDebug() << "Failed to open CSS file: " << file.fileName();
    }

}


3. 运行结果

VS+Qt+C++旅游景区地图导航源码实例,C++,开发语言,qt,c++,旅游

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Qt, C++, Python入门指导
3)界面美化
4)软件制作

当前文章连接:Python+Qt桌面端与网页端人工客服沟通工具_alicema1111的博客-CSDN博客

博主推荐文章:python人脸识别统计人数qt窗体-CSDN博客

博主推荐文章:Python Yolov5火焰烟雾识别源码分享-CSDN博客

                         Python OpenCV识别行人入口进出人数统计_python识别人数-CSDN博客

个人博客主页:alicema1111的博客_CSDN博客-Python,C++,网页领域博主

博主所有文章点这里alicema1111的博客_CSDN博客-Python,C++,网页领域博主文章来源地址https://www.toymoban.com/news/detail-645313.html

到了这里,关于VS+Qt+C++旅游景区地图导航源码实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 民族民俗景区3d智慧旅游系统提升游客旅游体验和质量

    随着科技的不断发展,传统的旅游方式正在逐渐被新的技术和系统所取代。网上3D沉浸式旅游体验凭借其身临其境的沉浸式体验优势,正成为旅游业的新宠。 网上3D沉浸式旅游体验是将旅游景区、度假区、休闲街区、科博馆等场所空间,利用VR全景制作、web3d开发、多媒体等技

    2024年02月07日
    浏览(34)
  • 旅游景区订票小程序系统设计与实现

    目的:本课题主要目标是设计并能够实现一个基于微信小程序景区景点预约购票系统,前台用户使用小程序,后台管理使用Java+Mysql开发,后台使用了springboot框架;通过后台添加景区资讯、景点介绍,管理用户订单;用户通过小程序登录,查看资讯、查看景区介绍、购买景区

    2024年02月10日
    浏览(32)
  • 一体机旅游景区污水处理设备工艺说明

    一体机旅游景区污水处理设备工艺说明 原水浓度:COD≤500mg/L,BOD≤300mg/L,NH3-N≤40mg/L,超过以上浓度需另行设计。 出水标准:COD≤60mg/L,BOD≤20mg/L,NH3-N≤15mg/L,出水要求如更严格,需另行设计。 工艺说明 1.厌氧池 污水进入厌氧反应区,同时进入的还有从二沉池回流的活性

    2024年01月16日
    浏览(39)
  • 旅游卡景区小程序购票核销分销app系统

        旅游业的蓬勃发展,景区旅游卡也逐渐成为游客出行的常见选择。为了提升景区旅游卡的购买和使用体验,许多景区开始采用小程序来提供购票和核销服务。同时,为了更好地推广景区旅游卡,许多景区也开发了分销App系统,以提供更多的营销渠道和更高效的分销管理。

    2024年02月12日
    浏览(30)
  • 基于Springboot+thymeleaf旅游景区管理系统——LW模板

    基于java的旅游管理系统 随着我国经济的快速发展以及改革开放政策的不断完善,旅游已经成为了人们假期放松旅游的主要方式之一。我国也越来越重视旅游业的发展,出台了《关于促进全域旅游发展的指导意见》、《“十四五”文化和旅游发展规划》等政策予以扶持。旅游

    2024年02月11日
    浏览(36)
  • 快速了解VR全景拍摄技术运用在旅游景区的优势

    豆腐脑加了糖、烤红薯加了勺,就连索菲亚大教堂前都有了“人造月亮”,在这个冬季,“尔滨”把各地游客宠上了天。面对更多的游客无法实地游玩,哈尔滨冰雪世界再添新玩法,借助VR全景拍摄技术对冬季经典冰雪体验项目进行全方位素材拍摄采集,让各地游客VR沉浸式体

    2024年02月02日
    浏览(32)
  • 旅游景区官网(网站、小程序)小开发可以实现哪些功能?

    伴随着我们生活水平的提升和手上的余钱愈来愈多,绝大多数人一定会选取去不同地方开展旅游,旅游也成為了经济发展的一大支撑。将来便捷用户和旅游业的发展趋势,打造出旅游景区官网(网站、H5、小程序等)开发设计是十分关键的事儿。 1、针对用户而言:旅游官网(

    2024年02月09日
    浏览(35)
  • VR智慧景区,为游客开启智慧旅游新时代

    近年来,文旅部加强了5G、VR虚拟技术等在文旅产业行业的运用,随着科技的不断发展,VR技术的运用越来越广泛,VR智慧景区作为一种全新的旅游方式,也渐渐的受到了人们广泛的关注,它可以让人们足不出户就欣赏到各地美景。 VR智慧景区就是将文旅景区的景色通过VR全景拍

    2024年02月08日
    浏览(33)
  • 旅游业为什么要选择VR全景,VR全景在景区旅游上有哪些应用

    引言: VR全景技术的引入为旅游业带来了一场变革。这项先进技术不仅提供了前所未有的互动体验,还为景区旅游文化注入了新的生机。 一.VR全景技术:革新旅游体验 1.什么是VR全景技术? VR全景技术是一种虚拟现实技术,通过头戴式VR设备或智能手机等,游客可以沉浸在逼

    2024年02月05日
    浏览(39)
  • 微信旅游景区景点评论小程序系统设计与实现

    目的 :本课题主要目标是设计并能够实现一个基于微信景区景点旅游攻略小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发;后台管理使用基PP+MySql的B/S架构,开发工具使用phpstorm;通过后台添加景区景点信息,管理景区景点订单,管理评论等,用户通过小

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包