diff --git a/Qss.cpp b/Qss.cpp index bed9815..251168f 100644 --- a/Qss.cpp +++ b/Qss.cpp @@ -269,7 +269,7 @@ QssMainWindow::QssMainWindow(QWidget *parent/* = 0*/, Qt::WindowFlags flags/* = vbox->setMargin(1); vbox->setSpacing(0); vbox->addWidget(this); -// installEventFilter(this); + mFrameRect = m_frame->geometry(); m_rcNormal = m_frame->geometry(); @@ -1635,6 +1635,7 @@ QSSProcessBar::QSSProcessBar(QWidget *parent) : setWindowFlags(Qt::FramelessWindowHint); this->setModal(true); + mParent = parent; } QSSProcessBar::~QSSProcessBar() @@ -1642,6 +1643,16 @@ QSSProcessBar::~QSSProcessBar() delete ui; } +void QSSProcessBar::showEvent(QShowEvent *ev) +{ + ui->progressBar->setValue(0); + if(nullptr != mParent){ + this->move(mParent->geometry().width()/2 - this->width()/2, + mParent->geometry().height()/2 - this->height()/2); + } + QDialog::showEvent(ev); +} + void QSSProcessBar::on_percent(int percent) { ui->progressBar->setValue(percent); diff --git a/Qss.h b/Qss.h index 5694f43..0242e50 100644 --- a/Qss.h +++ b/Qss.h @@ -1,4 +1,4 @@ - + #ifndef QSS_H #define QSS_H @@ -423,7 +423,7 @@ class QssMaskWidget : public QWidget public: QssMaskWidget(QWidget *parent = Q_NULLPTR); - ~QssMaskWidget(); + virtual ~QssMaskWidget(); virtual bool eventFilter(QObject * obj, QEvent * ev); public: @@ -468,12 +468,14 @@ class QSSProcessBar : public QDialog public: explicit QSSProcessBar(QWidget *parent = nullptr); ~QSSProcessBar(); + void showEvent(QShowEvent *) override; public slots: void on_percent(int); void on_done_close(); private: Ui::Process *ui; + QWidget *mParent; };