Qt(10.8)

作业:完善登录界面

源文件

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
#include<QLabel>
#include<QMessageBox>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
   ui->setupUi(this);
   this->setWindowTitle("登录界面");
   this->setWindowIcon(QIcon("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\qq")); //设置窗口图标
   ui->btn1->setIcon(QIcon("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\login"));//设置图标
   ui->btn1->setEnabled(true);//设置自适应

   ui->btn2->setIcon(QIcon("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\cancel"));//设置图标
   ui->btn2->setEnabled(true);//设置自适应

    ui->lineEdit_2->setPlaceholderText("QQ号/手机号/邮箱");
    ui->lineEdit->setPlaceholderText("输入密码");
    ui->lineEdit->setEchoMode(QLineEdit::Password);        //设置回显模式

    ui->label->setPixmap(QPixmap("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\logo"));
    ui->label->setScaledContents(true);

    ui->label_3->setPixmap(QPixmap("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\userName"));
    ui->label_3->setScaledContents(true);

    ui->label_2->setPixmap(QPixmap("D:\\wjl\\C++\\Qt\\day01\\01d\\pictrue\\passwd"));
    ui->label_2->setScaledContents(true);


}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_btn1_clicked()
{
    if(ui->lineEdit->text()==ui->lineEdit_2->text())
    {
        QMessageBox box(QMessageBox::Information,              //图标,信息图标
                           "信息",                             //对话框标题
                           "登录成功",                        //对话框文本内容
                           QMessageBox::Ok,   //对话框提供的按钮
                           this);                              //父组件
           //3、显示对话框:并返回用户点击的那个按钮值
           int btn = box.exec();
           //4、判断用户点击的按钮值
           if(btn == QMessageBox::Ok)
           {
               box.close();
           }
    this->close();
    emit jump();
        qDebug()<<"登录成功";
    }
    else
    {
            //调用静态成员函数来完成对话框
            int btn = QMessageBox::warning(this,
                                 "警告",                       //对话框标题
                                 "账号和密码不匹配,是否重新登录",              //对话框文本
                                 QMessageBox::Yes|QMessageBox::No, //提供的按钮
                                 QMessageBox::Yes);              //默认按钮

            //2、对用户点击的按钮进行判断
            if(btn == QMessageBox::Yes)
            {
                ui->lineEdit->clear();
            }
            else if(btn==QMessageBox::No)
            {
                this->close();
            }

    }
}

void Widget::on_btn2_clicked()
{
    QMessageBox box(QMessageBox::Question,              //图标,问题图标
                       "问题",                             //对话框标题
                       "是否退出登录?",                        //对话框文本内容
                       QMessageBox::Yes|QMessageBox::No,   //对话框提供的按钮
                       this);
       //3、显示对话框:并返回用户点击的那个按钮值
       int btn = box.exec();
       if(btn == QMessageBox::Yes)
       {
          this->close();
       }else if(btn == QMessageBox::No)
       {
          box.close();
       }
}
相关推荐
MY_TEUCK4 小时前
Sealos 平台部署实战指南:结合 Cursor 与版本发布流程
java·人工智能·学习·aigc
我爱cope5 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
朝新_5 小时前
【Spring AI 】图像与语音模型实战
java·人工智能·spring
RH2312116 小时前
2026.4.16Linux 管道
java·linux·服务器
zmsofts6 小时前
java面试必问13:MyBatis 一级缓存、二级缓存:从原理到脏数据,一篇讲透
java·面试·mybatis
aq55356007 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
小小码农Come on8 小时前
WorkerScript处理qml多线程处理异步数据
qt
我是无敌小恐龙8 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习
小灰灰搞电子8 小时前
Qt 中的队列解析
qt
心态与习惯9 小时前
Julia 初探,及与 C++,Java,Python 的比较
java·c++·python·julia·比较