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();
       }
}
相关推荐
Boilermaker19926 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维6 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
alonewolf_997 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子7 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34167 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
恋爱绝缘体17 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wszy18098 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy18098 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
程序员小假9 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
资生算法程序员_畅想家_剑魔9 小时前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin