From 367173d1fca7f7569eb05ebc122fc24279e56afb Mon Sep 17 00:00:00 2001 From: Mentalflow <312902918@qq.com> Date: Sun, 15 Jan 2023 23:29:09 +0800 Subject: [PATCH] Bug fixed. --- imgs/quit.png | Bin 6848 -> 16720 bytes login.cpp | 7 +++-- login.h | 8 +++--- mainwidget.cpp | 76 +++++++++++++++++++++++++++---------------------- mainwidget.h | 1 + signup.cpp | 6 ++-- 6 files changed, 54 insertions(+), 44 deletions(-) diff --git a/imgs/quit.png b/imgs/quit.png index f270eac13034357876239257420d576d8d404a69..848367917524e03b699b5e087e561338023dbd9d 100644 GIT binary patch literal 16720 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 OAZ<F_rA0t`=?)2rC6<0g(n#VhO=rx+J7S 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 S<#~18uc@Y|`d-=Y#s2`JQsZF& diff --git a/login.cpp b/login.cpp index cc431a1..cd7bd27 100644 --- a/login.cpp +++ b/login.cpp @@ -1,5 +1,6 @@ #include "login.h" #include "ui_login.h" +#include Login::Login(QWidget *parent) : QMainWindow(parent), @@ -74,7 +75,7 @@ void Login::paintEvent(QPaintEvent *event) // painter.drawPath(painterPath); //设置阴影 - QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this); + QPointer shadow(new QGraphicsDropShadowEffect(this)); shadow->setOffset(0, 0); //设置阴影距离 shadow->setColor(QColor("#87CEFA")); //设置阴影颜色 shadow->setBlurRadius(10); //设置阴影圆角 @@ -237,7 +238,7 @@ void Login::exit_client() /************************************private functions************************************/ void Login::zoom_down(QPushButton* btn) { - QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry"); + QScopedPointer animalton(new QPropertyAnimation(btn,"geometry")); //设置间隔时间 animalton->setDuration(200); //设置起始位置 @@ -252,7 +253,7 @@ void Login::zoom_down(QPushButton* btn) void Login::zoom_up(QPushButton* btn) { - QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry"); + QScopedPointeranimalton(new QPropertyAnimation(btn,"geometry")); animalton->setDuration(200); animalton->setStartValue(QRect(btn->x(),btn->y()+5,btn->width(),btn->height())); animalton->setEndValue(QRect(btn->x(),btn->y(),btn->width(),btn->height())); diff --git a/login.h b/login.h index 90504fd..f4d9b67 100644 --- a/login.h +++ b/login.h @@ -54,10 +54,10 @@ private: QPoint point; QString user,passwd; static Login login_instance; - Login *login; - Signup *signup; - MainWidget *mainwidget; - DataManager *datamanager; + QPointer login; + QPointer signup; + QPointer mainwidget; + QPointer datamanager; bool connect_flag = false; void new_closebutton(QPushButton* btn, QString position,QSize size); diff --git a/mainwidget.cpp b/mainwidget.cpp index de9282d..0c15374 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -1,5 +1,6 @@ #include "mainwidget.h" #include "ui_mainwidget.h" +#include MainWidget::MainWidget(QString username,QWidget *parent) : QWidget(parent), @@ -186,7 +187,7 @@ void MainWidget::on_send_btn_clicked() QString to_user = text.mid(1,n-1); QString insert = "tell you quietly:"; QString data_text = insert + text.mid(n,-1); - QString text_self = QString("私发给%1:%2").arg(to_user).arg(text.mid(n)); + QString text_self = QString("私发给%1:%2").arg(to_user, text.mid(n)); qDebug() << text_self; if(username == to_user) { @@ -235,20 +236,7 @@ void MainWidget::on_exit_btn_clicked() { zoom_down(ui->exit_btn); zoom_up(ui->exit_btn); - QMessageBox::StandardButton response; - response = QMessageBox::question(this, "退出", tr("确定退出软件?否则将最小化窗口")); - - if(response == QMessageBox::Yes) - { - //emit exit_client(); - //emit update_namelist(username); - this->close(); - } - else - { - this->hide(); - CreatSystemTray(); - } + close(); } void MainWidget::on_stop_clicked() @@ -352,11 +340,10 @@ void MainWidget::update_users(int count,QListonline_users) void MainWidget::disconnect_form_server() { QMessageBox::critical(this,"连接超时","请检查您的网络连接!"); + qApp->quit(); } void MainWidget::sendFile(QString filePath,QString filename,QString name) { - //发送的数据存入block中 - QByteArray block; QFile file(filePath); //打开文件,定义错误提醒 if(!file.open(QIODevice::ReadOnly)){ @@ -364,10 +351,6 @@ void MainWidget::sendFile(QString filePath,QString filename,QString name) return; } - /*打开文件流,以写的方式打开 - QDataStream out(&block,QIODevice::WriteOnly); - out.setVersion(QDataStream::Qt_5_8);*/ - //将数据读取到QByteArray QByteArray dataOfFile = file.readAll(); //关闭文件 @@ -382,7 +365,7 @@ void MainWidget::sendFile(QString filePath,QString filename,QString name) { emit send_file_private(username,filename,dataOfFile,name); } - QProgressDialog *progressDlg = new QProgressDialog(this); + QScopedPointer progressDlg(new QProgressDialog(this)); progressDlg->setWindowModality(Qt::WindowModal); progressDlg->setMinimumDuration(0); progressDlg->setAttribute(Qt::WA_DeleteOnClose, true); @@ -404,9 +387,6 @@ void MainWidget::sendFile(QString filePath,QString filename,QString name) void MainWidget::readFile(QString filename,QByteArray data) { - /*QString homePath = QDir::homePath(); - QString filePath = QFileDialog::getExistingDirectory(this,tr("Open Directory"),homePath, - QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);*/ QString filepath = "./Document"; QDir dir(filepath); if(dir.exists()) @@ -453,20 +433,20 @@ bool MainWidget::eventFilter(QObject *target, QEvent *event) void MainWidget::CreatSystemTray() { //创建菜单对象和托盘图标对象 - TrayMennu = new QMenu(this); - SystemTray = new QSystemTrayIcon(this); + QPointer TrayMennu(new QMenu(this)); + QPointer SystemTray(new QSystemTrayIcon(this)); //创建菜单项 - ActionShow = new QAction(tr("Show"), this); - ActionQuit = new QAction(tr("Exit"), this); - connect(ActionShow,&QAction::triggered,[=](){ + QPointer ActionShow(new QAction(tr("Show"), this)); + QPointer ActionQuit(new QAction(tr("Exit"), this)); + connect(ActionShow,&QAction::triggered,this,[=](){ this->show(); SystemTray->hide(); }); - connect(ActionQuit,&QAction::triggered,[=](){ + connect(ActionQuit,&QAction::triggered,this,[=](){ this->close(); }); - connect(SystemTray,&QSystemTrayIcon::activated,[=](){ + connect(SystemTray,&QSystemTrayIcon::activated,this,[=](){ this->show(); SystemTray->hide(); }); @@ -486,7 +466,7 @@ void MainWidget::CreatSystemTray() void MainWidget::zoom_down(QPushButton* btn) { - QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry"); + QScopedPointer animalton(new QPropertyAnimation(btn,"geometry")); animalton->setDuration(150); animalton->setStartValue(QRect(btn->x(),btn->y(),btn->width(),btn->height())); animalton->setEndValue(QRect(btn->x(),btn->y()+5,btn->width(),btn->height())); @@ -497,10 +477,38 @@ void MainWidget::zoom_down(QPushButton* btn) void MainWidget::zoom_up(QPushButton* btn) { - QPropertyAnimation *animalton = new QPropertyAnimation(btn,"geometry"); + QScopedPointer animalton(new QPropertyAnimation(btn,"geometry")); animalton->setDuration(150); animalton->setStartValue(QRect(btn->x(),btn->y()+5,btn->width(),btn->height())); animalton->setEndValue(QRect(btn->x(),btn->y(),btn->width(),btn->height())); animalton->setEasingCurve(QEasingCurve::OutBounce); animalton->start(); } + +void MainWidget::closeEvent(QCloseEvent *event) +{ + std::function callback; + callback = [=](int r)->void{ + switch (r) + { + case QMessageBox::Ok: + { + event->accept(); + qApp->quit(); + break; + } + default: + { + event->ignore(); + this->hide(); + CreatSystemTray(); + break; + } + } + }; + QMessageBox box(QMessageBox::Question,QString("退出"), QString("确定退出软件?否则将最小化窗口"),QMessageBox::Ok|QMessageBox::Cancel); + box.button(QMessageBox::Ok)->setText("是"); + box.button(QMessageBox::Cancel)->setText("否"); + callback(box.exec()); + event->ignore(); +} diff --git a/mainwidget.h b/mainwidget.h index fa15c1b..82590cb 100644 --- a/mainwidget.h +++ b/mainwidget.h @@ -71,6 +71,7 @@ private: void zoom_up(QPushButton* btn); void zoom_down(QPushButton* btn); void CreatSystemTray(); + void closeEvent(QCloseEvent *event); }; #endif // MAINWIDGET_H diff --git a/signup.cpp b/signup.cpp index 5f48a5b..179814c 100644 --- a/signup.cpp +++ b/signup.cpp @@ -1,11 +1,12 @@ #include "signup.h" #include "ui_signup.h" +#include Signup::Signup(QWidget *parent) : QWidget(parent), ui(new Ui::Signup) { ui->setupUi(this); - QPixmap *pix = new QPixmap(":/blue.png"); + QScopedPointer pix (new QPixmap(":/blue.png")); QSize sz = ui->label_image->size(); ui->label_image->setPixmap(pix->scaled(sz)); @@ -13,7 +14,7 @@ Signup::Signup(QWidget *parent) : QWidget(parent), this->setWindowFlags(Qt::FramelessWindowHint); //无边框 //设置阴影 - QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this); + QPointer shadow (new QGraphicsDropShadowEffect(this)); shadow->setOffset(-3, 0); shadow->setColor(QColor("#888888")); shadow->setBlurRadius(30); @@ -22,7 +23,6 @@ Signup::Signup(QWidget *parent) : QWidget(parent), Signup::~Signup() { - emit delete ui; }