From 5b2045675de77d8d3b81623893c5a3739246c288 Mon Sep 17 00:00:00 2001 From: jackfiled Date: Thu, 16 Jun 2022 22:42:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E5=8A=9F=E6=98=BE=E7=A4=BA=E4=BA=86?= =?UTF-8?q?=E5=85=AC=E4=BA=A4=E8=BD=A6=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources.qrc | 4 +-- include/mainScene.h | 34 +++++++++++++++++++++++ src/centralwidget.cpp | 11 ++++++-- src/form/centralwidget.ui | 57 +++++++++++++++++++++++--------------- src/form/mainwindow.ui | 14 +++++++++- src/header/centralwidget.h | 13 ++++++--- src/header/mainwindow.h | 8 ++---- src/mainScene.cpp | 26 +++++++++++++++++ 8 files changed, 131 insertions(+), 36 deletions(-) create mode 100644 include/mainScene.h create mode 100644 src/mainScene.cpp diff --git a/Resources.qrc b/Resources.qrc index 7b310db..3574577 100644 --- a/Resources.qrc +++ b/Resources.qrc @@ -1,8 +1,8 @@ - + picture/stop.png - + picture/bus.png \ No newline at end of file diff --git a/include/mainScene.h b/include/mainScene.h new file mode 100644 index 0000000..da14b27 --- /dev/null +++ b/include/mainScene.h @@ -0,0 +1,34 @@ +// +// Created by ricardo on 2022/6/11. +// + +#ifndef AUTO_BUS_GUI_MAIN_SCENE_H +#define AUTO_BUS_GUI_MAIN_SCENE_H + +#include "QGraphicsScene" +#include "QGraphicsPixmapItem" +#include "railsModel.h" + +class SceneManager +{ +public: + QGraphicsScene *scene; + + ~SceneManager(); + + /** + * 初始化绘制场景 + */ + void init(); + + /** + * 初始化场景中的站点 + * @param rail_head 轨道的头节点 + */ + void initBusStop(rail_node_t *rail_head); + +private: + QGraphicsPixmapItem *pixmap_items; +}; + +#endif //AUTO_BUS_GUI_MAIN_SCENE_H diff --git a/src/centralwidget.cpp b/src/centralwidget.cpp index aa56e87..0e39f07 100644 --- a/src/centralwidget.cpp +++ b/src/centralwidget.cpp @@ -6,15 +6,22 @@ #include "header/moc_centralwidget.cpp" #include "form/ui_CentralWidget.h" +#include "centralwidget.h" -CentralWidget::CentralWidget(QWidget *parent) : - QWidget(parent), ui(new Ui::CentralWidget) +CentralWidget::CentralWidget(QWidget *parent) : QWidget(parent), ui(new Ui::CentralWidget) { ui->setupUi(this); + + scene_manager = new SceneManager; + scene_manager->init(); + scene_manager->initBusStop(nullptr); + + ui->main_canva->setScene(scene_manager->scene); } CentralWidget::~CentralWidget() { delete ui; + delete scene_manager; } diff --git a/src/form/centralwidget.ui b/src/form/centralwidget.ui index 2023b11..5084fb9 100644 --- a/src/form/centralwidget.ui +++ b/src/form/centralwidget.ui @@ -6,20 +6,26 @@ 0 0 - 865 - 635 + 900 + 600 + + + 900 + 600 + + CentralWidget - + 0 0 - 661 - 421 + 600 + 400 @@ -29,10 +35,17 @@ 659 -1 201 - 421 + 411 + + + + 测试输出 + + + @@ -42,28 +55,28 @@ - + 0 - 420 - 861 - 221 + 400 + 900 + 190 - - true + + + + + 0 + 400 + 900 + 10 + + + + Qt::Horizontal - - - - 0 - 0 - 859 - 219 - - - diff --git a/src/form/mainwindow.ui b/src/form/mainwindow.ui index 6f6b6d2..3e16570 100644 --- a/src/form/mainwindow.ui +++ b/src/form/mainwindow.ui @@ -7,9 +7,21 @@ 0 0 900 - 600 + 622 + + + 900 + 622 + + + + + 900 + 622 + + MainWindow diff --git a/src/header/centralwidget.h b/src/header/centralwidget.h index 2795173..c02d4a3 100644 --- a/src/header/centralwidget.h +++ b/src/header/centralwidget.h @@ -2,11 +2,12 @@ // Created by ricardo on 2022/6/10. // -#ifndef AUTO_BUS_GUI_CENTRALWIDGET_H -#define AUTO_BUS_GUI_CENTRALWIDGET_H +#ifndef AUTO_BUS_GUI_CENTRAL_WIDGET_H +#define AUTO_BUS_GUI_CENTRAL_WIDGET_H #include - +#include "string" +#include "mainScene.h" QT_BEGIN_NAMESPACE namespace Ui @@ -24,9 +25,13 @@ public: ~CentralWidget() override; +public slots: + + private: Ui::CentralWidget *ui; + SceneManager *scene_manager; }; -#endif //AUTO_BUS_GUI_CENTRALWIDGET_H +#endif //AUTO_BUS_GUI_CENTRAL_WIDGET_H diff --git a/src/header/mainwindow.h b/src/header/mainwindow.h index 00d523d..6f76745 100644 --- a/src/header/mainwindow.h +++ b/src/header/mainwindow.h @@ -2,8 +2,8 @@ // Created by ricardo on 2022/6/10. // -#ifndef AUTO_BUS_GUI_MAINWINDOW_H -#define AUTO_BUS_GUI_MAINWINDOW_H +#ifndef AUTO_BUS_GUI_MAIN_WINDOW_H +#define AUTO_BUS_GUI_MAIN_WINDOW_H #include #include "centralwidget.h" @@ -31,6 +31,4 @@ private: void SetMenuBarConnection(); }; - - -#endif //AUTO_BUS_GUI_MAINWINDOW_H +#endif //AUTO_BUS_GUI_MAIN_WINDOW_H diff --git a/src/mainScene.cpp b/src/mainScene.cpp new file mode 100644 index 0000000..997cd04 --- /dev/null +++ b/src/mainScene.cpp @@ -0,0 +1,26 @@ +// +// Created by ricardo on 2022/6/11. +// + +#include "mainScene.h" + +void SceneManager::init() +{ + scene = new QGraphicsScene; +} + +void SceneManager::initBusStop(rail_node_t *rail_head) +{ + pixmap_items = new QGraphicsPixmapItem[1]; + + pixmap_items->setPixmap(QPixmap(":/picture/bus.png")); + pixmap_items->setPos(100,100); + + scene->addItem(pixmap_items); +} + +SceneManager::~SceneManager() +{ + delete []pixmap_items; + delete scene; +} \ No newline at end of file