MainWindow.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "MainWindow.h"
  2. #include <DateTime/DatePicker.h>
  3. #include <QFramelessWindow.h>
  4. #include <TitleBar.h>
  5. #include <Widgets/StackedWidget.h>
  6. #include <QDebug>
  7. StackedWidget::StackedWidget(QWidget *parent) : QFrame(parent) {
  8. m_hBoxLayout = new QHBoxLayout(this);
  9. m_view = new PopUpAniStackedWidget(this);
  10. m_hBoxLayout->setContentsMargins(0, 0, 0, 0);
  11. m_hBoxLayout->addWidget(m_view);
  12. connect(
  13. m_view, &PopUpAniStackedWidget::currentChanged, this,
  14. [this](int index) { emit currentWidgetChanged(m_view->widget(index)); });
  15. }
  16. void StackedWidget::addWidget(QWidget *widget) { m_view->addWidget(widget); }
  17. ///
  18. /// @todo widget.verticalScrollBar().setValue(0)
  19. ///
  20. void StackedWidget::setCurrentWidget(QWidget *widget, bool popOut) {
  21. if (popOut) {
  22. m_view->setCurrentWidget(widget, true, false, 200, QEasingCurve::InQuad);
  23. } else {
  24. m_view->setCurrentWidget(widget, false, true, 300);
  25. }
  26. }
  27. void StackedWidget::setCurrentIndex(int index, bool popOut) {
  28. setCurrentWidget(m_view->widget(index), popOut);
  29. }
  30. PopUpAniStackedWidget *StackedWidget::view() const { return m_view; }
  31. MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
  32. QFramelessHelper *helper = new QFramelessHelper(this);
  33. StandardTitleBar *titleBar = new StandardTitleBar(this);
  34. helper->setTitleBar(titleBar);
  35. setMinimumSize(QSize(800, 600));
  36. QIcon icon = QIcon(":/resource/logo.png");
  37. setWindowIcon(icon);
  38. titleBar->setIcon(icon);
  39. setWindowTitle("专家评定数据分析软件");
  40. }
  41. MainWindow::~MainWindow() {}