LogStatePage.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. // *****************************************************************************
  2. // 版权所有(C)2023~2099 上海骄成超声波技术有限公司
  3. // 保留所有权利
  4. // *****************************************************************************
  5. // 作者 : 杨坚
  6. // 版本 : 1.0
  7. // 功能说明:
  8. // 侧边栏日志状态
  9. // *****************************************************************************
  10. #ifndef __LOGSTATEPAGE_H__
  11. #define __LOGSTATEPAGE_H__ 1
  12. #include <QApplication>
  13. #include <QMainWindow>
  14. #include <QPropertyAnimation>
  15. #include <QPushButton>
  16. #include <QVBoxLayout>
  17. class LogStateSidebar : public QWidget
  18. {
  19. Q_OBJECT
  20. public:
  21. LogStateSidebar(QWidget* parent = nullptr);
  22. void ShowSidebar();
  23. void HideSidebar();
  24. bool isExpanded();
  25. void toggle() {
  26. if (m_expanded) {
  27. HideSidebar();
  28. }
  29. else {
  30. ShowSidebar();
  31. }
  32. }
  33. private:
  34. bool m_expanded = false;
  35. QPropertyAnimation* m_pAnimation;
  36. };
  37. //class MainWindow : public QMainWindow {
  38. // Q_OBJECT
  39. //public:
  40. // MainWindow(QWidget* parent = nullptr) : QMainWindow(parent) {
  41. // // 创建主窗口内容
  42. // auto centralWidget = new QWidget(this);
  43. // auto layout = new QVBoxLayout(centralWidget);
  44. //
  45. // toggleButton = new QPushButton("Toggle Sidebar", centralWidget);
  46. // layout->addWidget(toggleButton);
  47. //
  48. // setCentralWidget(centralWidget);
  49. //
  50. // // 创建侧边栏
  51. // sidebar = new LogStateSidebar(this);
  52. // sidebar->move(-sidebar->width(), 0);
  53. // sidebar->resize(sidebar->width(), height());
  54. //
  55. // connect(toggleButton, &QPushButton::clicked, this, [this]() {
  56. // if (sidebar->isExpanded()) {
  57. // sidebar->hideSidebar();
  58. // }
  59. // else {
  60. // sidebar->showSidebar();
  61. // }
  62. // });
  63. // }
  64. //
  65. //protected:
  66. // void resizeEvent(QResizeEvent* event) override {
  67. // QMainWindow::resizeEvent(event);
  68. // if (sidebar) {
  69. // sidebar->resize(sidebar->width(), height());
  70. // }
  71. // }
  72. //
  73. //private:
  74. // LogStateSidebar* sidebar;
  75. // QPushButton* toggleButton;
  76. //};
  77. #endif //__LOGSTATEPAGE_H__