|
@@ -67,15 +67,80 @@ PopUpAniStackedWidget *StackedWidget::view() const
|
|
|
|
|
|
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
|
|
{
|
|
|
- initialize();
|
|
|
- initWindow();
|
|
|
- initLayout();
|
|
|
- initNavigation();
|
|
|
- connectSignalsAndSlots();
|
|
|
+ // initialize();
|
|
|
+ // initWindow();
|
|
|
+ // initLayout();
|
|
|
+ // initNavigation();
|
|
|
+
|
|
|
+ initLoginPage();
|
|
|
+
|
|
|
+ // connectSignalsAndSlots();
|
|
|
}
|
|
|
|
|
|
MainWindow::~MainWindow() { }
|
|
|
|
|
|
+void MainWindow::initLoginPage()
|
|
|
+{
|
|
|
+ setMinimumSize(QSize(1200, 800));
|
|
|
+
|
|
|
+ m_titleBar = new CustomTitleBar(this);
|
|
|
+ QFramelessHelper *helper = new QFramelessHelper(this);
|
|
|
+ helper->setTitleBar(m_titleBar);
|
|
|
+
|
|
|
+ setWindowTitle("专家评定数据分析软件");
|
|
|
+
|
|
|
+ QIcon icon = QIcon(":/resource/logo.png");
|
|
|
+ qApp->setWindowIcon(icon);
|
|
|
+
|
|
|
+ m_titleBar->setGeometry(QRect(titleBarIndent(), 0, width() - titleBarIndent(), m_titleBar->height()));
|
|
|
+ m_titleBar->setIcon(icon);
|
|
|
+ m_titleBar->setHidden(true);
|
|
|
+
|
|
|
+ m_mainStackedWidget = new QStackedWidget(this);
|
|
|
+ setCentralWidget(m_mainStackedWidget);
|
|
|
+ m_loginView = new LoginView(this);
|
|
|
+ m_mainStackedWidget->addWidget(m_loginView);
|
|
|
+
|
|
|
+ connect(m_loginView, &LoginView::signalLogin, this, &MainWindow::slotLogin);
|
|
|
+ connect(m_loginView, &LoginView::signalCancelLogin, this, &MainWindow::slotCancelLogin);
|
|
|
+}
|
|
|
+
|
|
|
+void MainWindow::initMainPage()
|
|
|
+{
|
|
|
+ m_mainWidget = new QWidget(this);
|
|
|
+ m_hBoxLayout = new QHBoxLayout(m_mainWidget);
|
|
|
+
|
|
|
+ m_widgetLayout = new QHBoxLayout();
|
|
|
+ m_stackWidget = new StackedWidget(m_mainWidget);
|
|
|
+ m_naviInterface = new NavigationInterface(true, true, m_mainWidget);
|
|
|
+ m_naviInterface->panel->setExpandWidth(200);
|
|
|
+
|
|
|
+ m_homeView = new HomeView(m_mainWidget);
|
|
|
+
|
|
|
+ m_projectView = new ProjectView(m_mainWidget);
|
|
|
+ m_evaluateView = new EvaluateView(m_mainWidget);
|
|
|
+ m_expertManageView = new ExpertManageView(m_mainWidget);
|
|
|
+ m_aboutView = new AboutView(m_mainWidget);
|
|
|
+ m_settingView = new SettingView(m_mainWidget);
|
|
|
+ m_userView = new UserView(m_mainWidget);
|
|
|
+
|
|
|
+ m_mainStackedWidget->addWidget(m_mainWidget);
|
|
|
+
|
|
|
+ m_hBoxLayout->setSpacing(0);
|
|
|
+ m_hBoxLayout->setContentsMargins(0, 0, 0, 0);
|
|
|
+ m_hBoxLayout->addWidget(m_naviInterface);
|
|
|
+ m_hBoxLayout->addLayout(m_widgetLayout);
|
|
|
+ m_hBoxLayout->setStretchFactor(m_widgetLayout, 1);
|
|
|
+
|
|
|
+ m_widgetLayout->addWidget(m_stackWidget);
|
|
|
+ m_widgetLayout->setContentsMargins(0, 32, 0, 0);
|
|
|
+
|
|
|
+ initNavigation();
|
|
|
+
|
|
|
+ connect(m_naviInterface, &NavigationInterface::displayModeChanged, m_titleBar, &StandardTitleBar::raise);
|
|
|
+ connect(m_userView, &UserView::signalLogout, this, &MainWindow::slotLogout);
|
|
|
+}
|
|
|
+
|
|
|
void MainWindow::initialize()
|
|
|
{
|
|
|
m_titleBar = new CustomTitleBar(this);
|
|
@@ -198,7 +263,7 @@ void MainWindow::setNaviInterfaceHidden(bool hidden)
|
|
|
|
|
|
int MainWindow::titleBarIndent() const
|
|
|
{
|
|
|
- return m_naviInterface->isHidden() ? 0 : 46;
|
|
|
+ return (m_naviInterface && m_naviInterface->isHidden()) ? 0 : 46;
|
|
|
}
|
|
|
|
|
|
void MainWindow::resizeEvent(QResizeEvent *event)
|
|
@@ -217,6 +282,7 @@ void MainWindow::switchTo(QWidget *widget, bool triggerByUser)
|
|
|
|
|
|
void MainWindow::slotLogin()
|
|
|
{
|
|
|
+ initMainPage();
|
|
|
m_mainStackedWidget->setCurrentWidget(m_mainWidget);
|
|
|
m_titleBar->setHidden(false);
|
|
|
}
|
|
@@ -224,7 +290,10 @@ void MainWindow::slotLogin()
|
|
|
void MainWindow::slotLogout()
|
|
|
{
|
|
|
m_mainStackedWidget->setCurrentWidget(m_loginView);
|
|
|
+ m_mainStackedWidget->removeWidget(m_mainWidget);
|
|
|
m_titleBar->setHidden(true);
|
|
|
+ delete m_mainWidget;
|
|
|
+ m_mainWidget = nullptr;
|
|
|
}
|
|
|
|
|
|
void MainWindow::slotCancelLogin()
|