#ifndef QWAITINGDLG_H #define QWAITINGDLG_H #include #include #include class WaitingIndicator : public QWidget { Q_OBJECT public: using QWidget::QWidget; QColor mColor = 0x0088ff; public slots: void success(); protected: void timerEvent(QTimerEvent * event) override; void paintEvent(QPaintEvent * event) override; int angle = 0; int timerId = 0; }; class LoadingDlg : public QDialog { Q_OBJECT public: explicit LoadingDlg(QWidget *parent = nullptr, QString text = 0, QString sucText = 0); QLabel *fdText; QString sucText; WaitingIndicator *mIndicator; int keepTime = 750; public slots: void success(); protected: void timerEvent(QTimerEvent *) override; void closeEvent(QCloseEvent *) override; private: int closeTimerId = 0; }; class WaitingDlg : public QDialog { Q_OBJECT public: explicit WaitingDlg(QWidget *parent = nullptr, QString text = 0, QString sucText = 0); QLabel *fdText; QString sucText; WaitingIndicator *mIndicator; int keepTime = 750; public slots: void show(); void showLater(); void success(); protected: void timerEvent(QTimerEvent *) override; void closeEvent(QCloseEvent *) override; private: int closeTimerId{0}, showTimerId{0}; }; #endif // QWAITINGDLG_H