当前位置: 首页> 财经> 金融 > Qt消息对话框的实现

Qt消息对话框的实现

时间:2025/7/9 11:17:27来源:https://blog.csdn.net/weixin_73503608/article/details/141340317 浏览次数:0次

Widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this -> setWindowIcon(QIcon(":/picture/hp.jpg"));//设置窗口图标this -> setWindowFlag(Qt::FramelessWindowHint, 1);//无边框setAttribute(Qt::WA_TranslucentBackground);//窗口透明
//    this->setStyleSheet("border-radius:30px;");this->setAttribute(Qt::WA_TranslucentBackground);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{if(ui -> ac_line -> text() == "admin"){if(ui -> pa_line -> text() == "123456"){succes_login();}else if(ui -> pa_line -> text() == ""){QMessageBox msg(QMessageBox::Warning,//图标"错误",//标题"请输入密码",//文本QMessageBox::Yes | QMessageBox::No,//提供按钮this//指定父组件);
//            msg.setStyleSheet("background-color: white; border: 2px solid black; "
//                              "QMessageBox::ButtonBox { margin-top: 10px; }"
//                              "QMessageBox QPushButton { margin: 5px; }");msg.setStyleSheet("background-color: rgb(164, 164, 255);");msg.setWindowFlag(Qt::FramelessWindowHint, 1);msg.button(QMessageBox::Yes)->setStyleSheet("background-color: rgb(40, 40, 40);color:white");msg.button(QMessageBox::No)->setStyleSheet("background-color: white");//            this -> setWindowIcon(QIcon(":/picture/hp.jpg"));//设置窗口图标
//            this -> setWindowFlag(Qt::FramelessWindowHint, 1);//无边框
//            setAttribute(Qt::WA_TranslucentBackground);//窗口透明//(QMessageBox{background-color: white; border: 2px solid black; }
//            QMessageBox::ButtonBox { margin-top: 10px; }
//            QMessageBox QPushButton { margin: 5px; });int ret = msg.exec();//弹出对话框//根据用户的选择,执行不同的功能if(QMessageBox::No == ret){this -> close();}}else{
//            ui -> pa_line -> setText("");ui -> pa_line -> clear();QMessageBox msg(QMessageBox::Warning,//图标"错误",//标题"密码错误, 是否重新登录",//文本QMessageBox::Yes | QMessageBox::No,//提供按钮this//指定父组件);int ret = msg.exec();//弹出对话框//根据用户的选择,执行不同的功能if(ret == QMessageBox::No){this -> close();}}}else if(ui -> ac_line -> text() == ""){QMessageBox::information(this, "信息", "请填写账号密码", QMessageBox::Ok);ui -> pa_line -> setText("");}
}void Widget::succes_login()
{this -> close();emit my_jump();
}

chat.cpp

#include "chat.h"
#include "ui_chat.h"chat::chat(QWidget *parent) :QWidget(parent),ui(new Ui::chat)
{ui->setupUi(this);
}chat::~chat()
{delete ui;
}void chat::on_pushButton_9_clicked()
{//弹出第一个对话框 QFontDialogbool OK;QFont ft = QFontDialog::getFont(&OK, QFont("黑体", 14, 2), this);//判断用户if(OK){ui -> textEdit -> setCurrentFont(ft);}else{QMessageBox::information(this, "","未选择正确的字体");}
}void chat::jump_slot()
{this -> show();
}

main.cpp

#include "widget.h"
#include "chat.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();chat c;QObject::connect(&w, &Widget::my_jump, &c, &chat::jump_slot);return a.exec();
}

关键字:Qt消息对话框的实现

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: