loadingWidget.h 748 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef LOADINGWIDGET_H
  2. #define LOADINGWIDGET_H
  3. #include <QWidget>
  4. class QLabel;
  5. class QMovie;
  6. class LoadingWidget : public QWidget
  7. {
  8. Q_OBJECT
  9. public:
  10. // 获取全局实例
  11. static LoadingWidget* instance();
  12. // 显示加载 (可选parent,不传则居中于屏幕)
  13. static void showLoading(QWidget* parent = nullptr, const QString& text = "Loading...");
  14. // 隐藏加载
  15. static void hideLoading();
  16. protected:
  17. void resizeEvent(QResizeEvent *event) override;
  18. private:
  19. explicit LoadingWidget(QWidget *parent = nullptr);
  20. static LoadingWidget* m_instance;
  21. void updatePosition();
  22. void initUI();
  23. QLabel* m_loadingLabel;
  24. QLabel* m_textLabel;
  25. QMovie* m_movie;
  26. };
  27. #endif // LOADINGWIDGET_H