From 458be41d96524bbdad14aaa0b6184a5de387e7e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=A2=9E=E8=BE=89?= <3045316072@qq.com> Date: Mon, 25 Nov 2024 15:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=A5=E5=85=B7=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ImageOperatorBase.h | 5 ++- QToolProcessBarDialog.cpp | 24 +++++++++++++ QToolProcessBarDialog.h | 19 ++++++++++ QToolProcessBarDialog.ui | 73 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 QToolProcessBarDialog.cpp create mode 100644 QToolProcessBarDialog.h create mode 100644 QToolProcessBarDialog.ui diff --git a/ImageOperatorBase.h b/ImageOperatorBase.h index 8eca03e..bc9a859 100644 --- a/ImageOperatorBase.h +++ b/ImageOperatorBase.h @@ -74,9 +74,8 @@ enum GDALREADARRCOPYMETHOD { -class ShowProessAbstract :public QObject{ -public: - Q_OBJECT +class ShowProessAbstract{ + public: virtual void showProcess(double precent,QString tip); virtual void showToolInfo( QString tip) ; diff --git a/QToolProcessBarDialog.cpp b/QToolProcessBarDialog.cpp new file mode 100644 index 0000000..c75f6c2 --- /dev/null +++ b/QToolProcessBarDialog.cpp @@ -0,0 +1,24 @@ +#include "QToolProcessBarDialog.h" + +QToolProcessBarDialog::QToolProcessBarDialog(QWidget *parent) + : QDialog(parent) +{ + ui.setupUi(this); + ui.progressBar->setRange(0, 100); + +} + +QToolProcessBarDialog::~QToolProcessBarDialog() +{} + +void QToolProcessBarDialog::showProcess(double precent, QString tip) +{ + ui.progressBar->setValue(std::ceil(precent * 100)); + ui.labelTip->setText(tip); + this->update(); +} + +void QToolProcessBarDialog::showToolInfo(QString tip) +{ + ui.textEditTip->append("\n"+tip); +} diff --git a/QToolProcessBarDialog.h b/QToolProcessBarDialog.h new file mode 100644 index 0000000..11e33a1 --- /dev/null +++ b/QToolProcessBarDialog.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include "ui_QToolProcessBarDialog.h" +#include "ImageOperatorBase.h" +class QToolProcessBarDialog : public QDialog, public ShowProessAbstract +{ + Q_OBJECT +public: + QToolProcessBarDialog(QWidget *parent = nullptr); + ~QToolProcessBarDialog(); + +private: + Ui::QToolProcessBarDialogClass ui; + +public: + virtual void showProcess(double precent, QString tip) override; + virtual void showToolInfo(QString tip) override; +}; diff --git a/QToolProcessBarDialog.ui b/QToolProcessBarDialog.ui new file mode 100644 index 0000000..400efab --- /dev/null +++ b/QToolProcessBarDialog.ui @@ -0,0 +1,73 @@ + + + QToolProcessBarDialogClass + + + + 0 + 0 + 600 + 400 + + + + QToolProcessBarDialog + + + + + + + + + + 120 + 26 + + + + + 120 + 26 + + + + 退出 + + + + + + + 提示 + + + + + + + 24 + + + + + + + + + + + + + + + + + + + + + + + +