chengxr пре 1 година
родитељ
комит
171b3a251f
3 измењених фајлова са 59 додато и 12 уклоњено
  1. 6 0
      QFD/QFD.pro
  2. 44 12
      QFD/view/MainWindow.cpp
  3. 9 0
      QFD/view/MainWindow.h

+ 6 - 0
QFD/QFD.pro

@@ -62,15 +62,21 @@ INCLUDEPATH += $$PWD/common
 SOURCES += \
     main.cpp \
     view/AboutView.cpp \
+    view/ExpertView.cpp \
+    view/HomeView.cpp \
     view/LoginView.cpp \
     view/MainWindow.cpp \
+    view/ProjectView.cpp \
     widgets/LoginWidget.cpp \
     widgets/RegisterWidget.cpp
 
 HEADERS += \
     view/AboutView.h \
+    view/ExpertView.h \
+    view/HomeView.h \
     view/LoginView.h \
     view/MainWindow.h \
+    view/ProjectView.h \
     widgets/LoginWidget.h \
     widgets/RegisterWidget.h
 

+ 44 - 12
QFD/view/MainWindow.cpp

@@ -1,5 +1,8 @@
 #include "MainWindow.h"
 
+#include "HomeView.h"
+#include "ProjectView.h"
+#include "ExpertView.h"
 #include "LoginView.h"
 #include "AboutView.h"
 
@@ -21,8 +24,6 @@ StackedWidget::StackedWidget(QWidget *parent) : QFrame(parent)
 
     connect(m_view, &PopUpAniStackedWidget::currentChanged, this,
             [this](int index) { emit currentWidgetChanged(m_view->widget(index)); });
-
-    //    setStyleSheet("background-color: rgb(0,222,222);");
 }
 
 void StackedWidget::addWidget(QWidget *widget)
@@ -70,10 +71,11 @@ void MainWindow::initialize()
     m_stackWidget   = new StackedWidget(this);
     m_naviInterface = new NavigationInterface(true, true, this);
 
-    m_loginView = new LoginView(this);
-    m_aboutView = new AboutView(this);
-
-    //    m_aboutView->setStyleSheet("background-color: rgb(222, 222, 0);");
+    m_homeView    = new HomeView(this);
+    m_loginView   = new LoginView(this);
+    m_projectView = new ProjectView(this);
+    m_expertView  = new ExpertView(this);
+    m_aboutView   = new AboutView(this);
 }
 
 void MainWindow::initWindow()
@@ -109,23 +111,38 @@ void MainWindow::initLayout()
 
 void MainWindow::initNavigation()
 {
+    m_homeView->setObjectName("homeView");
+    m_stackWidget->addWidget(m_homeView);
+    m_naviInterface->addItem(m_homeView->objectName(), NEWFLICON(FluentIcon, HOME), "首页", this,
+                             SLOT(homeViewClicked()));
+
+    m_projectView->setObjectName("projectView");
+    m_stackWidget->addWidget(m_projectView);
+    m_naviInterface->addItem(m_projectView->objectName(), NEWFLICON(FluentIcon, DOCUMENT), "工程", this,
+                             SLOT(projectViewClicked()));
+
+    m_expertView->setObjectName("expertView");
+    m_stackWidget->addWidget(m_expertView);
+    m_naviInterface->addItem(m_expertView->objectName(), NEWFLICON(FluentIcon, HEART), "专家信息管理", this,
+                             SLOT(expertViewClicked()));
+
     m_naviInterface->addSeparator();
 
     m_loginView->setObjectName("loginView");
     m_stackWidget->addWidget(m_loginView);
-    m_naviInterface->addItem(m_loginView->objectName(), NEWFLICON(FluentIcon, HEART), "Login", this,
-                             SLOT(loginViewClicked()), false, NavigationItemPosition::BOTTOM);
+    m_naviInterface->addItem(m_loginView->objectName(), NEWFLICON(FluentIcon, SETTING), "用户", this,
+                             SLOT(loginViewClicked()), true, NavigationItemPosition::BOTTOM);
 
     m_aboutView->setObjectName("aboutView");
     m_stackWidget->addWidget(m_aboutView);
-    m_naviInterface->addItem(m_aboutView->objectName(), NEWFLICON(FluentIcon, INFO), "About", this,
-                             SLOT(aboutViewClicked()), false, NavigationItemPosition::BOTTOM);
+    m_naviInterface->addItem(m_aboutView->objectName(), NEWFLICON(FluentIcon, INFO), "关于", this,
+                             SLOT(aboutViewClicked()), true, NavigationItemPosition::BOTTOM);
 
-    m_naviInterface->setDefaultRouteKey(m_loginView->objectName());
+    m_naviInterface->setDefaultRouteKey(m_homeView->objectName());
 
     connect(m_stackWidget, &StackedWidget::currentWidgetChanged, this,
             [this](QWidget *w) { m_naviInterface->setCurrentItem(w->objectName()); });
-    m_naviInterface->setCurrentItem(m_loginView->objectName());
+    m_naviInterface->setCurrentItem(m_homeView->objectName());
     m_stackWidget->setCurrentIndex(0);
 }
 
@@ -157,11 +174,26 @@ void MainWindow::switchTo(QWidget *widget, bool triggerByUser)
     m_stackWidget->setCurrentWidget(widget, !triggerByUser);
 }
 
+void MainWindow::homeViewClicked()
+{
+    switchTo(m_homeView);
+}
+
 void MainWindow::loginViewClicked()
 {
     switchTo(m_loginView);
 }
 
+void MainWindow::projectViewClicked()
+{
+    switchTo(m_projectView);
+}
+
+void MainWindow::expertViewClicked()
+{
+    switchTo(m_expertView);
+}
+
 void MainWindow::aboutViewClicked()
 {
     switchTo(m_aboutView);

+ 9 - 0
QFD/view/MainWindow.h

@@ -9,6 +9,9 @@ class QHBoxLayout;
 class NavigationInterface;
 class StandardTitleBar;
 
+class HomeView;
+class ProjectView;
+class ExpertView;
 class LoginView;
 class AboutView;
 
@@ -59,7 +62,10 @@ private:
     void switchTo(QWidget *widget, bool triggerByUser = true);
 
 private slots:
+    void homeViewClicked();
     void loginViewClicked();
+    void projectViewClicked();
+    void expertViewClicked();
     void aboutViewClicked();
 
 private:
@@ -69,6 +75,9 @@ private:
     StackedWidget *m_stackWidget;
     NavigationInterface *m_naviInterface;
 
+    HomeView *m_homeView;
+    ProjectView *m_projectView;
+    ExpertView *m_expertView;
     LoginView *m_loginView;
     AboutView *m_aboutView;
 };