Qt creator day2练习

使用手动连接,将登录框中的取消按钮使用第二种方式,右击转到槽,在该函数中,调用关闭函数,将登录按钮使用Qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为“admin”,密码是否为“123456”,如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。

头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QString>
#include <QMessageBox>


QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
public slots:
    void my_slot();  //槽函数的声名
    void my_slot2(); //槽函数的声名

private slots:

    void on_cancelBtn_clicked();  //槽函数的声名

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->LogoLab->setPixmap(QPixmap(":/logo.png"));
    ui->LogoLab->setScaledContents(true);
    
    ui->userNameLab->setPixmap(QPixmap(":/login.png"));
    ui->userNameLab->setScaledContents(true);
    
    ui->passWdLab->setPixmap(QPixmap(":/passwd.jpg"));
    ui->passWdLab->setScaledContents(true);
    
    
    //点击"登入按钮",判断用户名和密码
    connect(ui->loginBtn,SIGNAL(clicked()),this,SLOT(my_slot())); //信号发送者,发送的具体信号,信号接收者,槽函数
    connect(ui->cancelBtn,SIGNAL(clicked()),this,SLOT(my_slot2()));
    connect(ui->passWdEdit,SIGNAL(returnPressed())  //回车键发送按钮
            ,ui->loginBtn,SIGNAL(clicked()),Qt::UniqueConnection);
    
}

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

void Widget::my_slot()
{
    QMessageBox *box = new QMessageBox(); //实例化一个box,用来弹出消息
    box->setWindowTitle("提示");
    
    if(QString(ui->userNameEdit->text()) == "admin" && QString(ui->passWdEdit->text()) == "123456")
    {
        box->setText("登录成功 ^_^ ");
        box->show(); //提示
        box->exec();  //等待用户响应
        this->close();  //关闭窗口
    }else
    {
        box->setText("账号密码错误");
        box->show(); //提示
        box->exec(); //等待用户响应
        ui->userNameEdit->setText(""); //将输入的账号清空
        ui->passWdEdit->setText(""); //将密码框清空
    }
    
}


void Widget::on_cancelBtn_clicked()
{
    this->close(); //关闭窗口
}

void Widget::my_slot2()
{
    QMessageBox *box = new QMessageBox(); //实例化一个box,用来弹出消息
    box->setWindowTitle("提示");
    box->setText("用户取消登录,程序退出");
    box->show(); //提示
    box->exec(); //等待用户响应
    this->close(); //关闭窗口
    
    
}

效果图

思维导图

相关推荐

  1. python练习2

    2024-06-16 07:06:03       16 阅读
  2. C语言练习(2)

    2024-06-16 07:06:03       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 07:06:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 07:06:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 07:06:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 07:06:03       18 阅读

热门阅读

  1. 机器 reboot 后 kubelet 目录凭空消失的灾难恢复

    2024-06-16 07:06:03       10 阅读
  2. Python 测试用例

    2024-06-16 07:06:03       7 阅读
  3. 从零开始! jupyter notebook的安装教程

    2024-06-16 07:06:03       7 阅读
  4. Jetson.GPIO 使用教程

    2024-06-16 07:06:03       12 阅读
  5. 19C之前恢复drop 掉的PDB 创建另一个实例

    2024-06-16 07:06:03       9 阅读
  6. 从零开始!如何安装和配置Jupyter Notebook

    2024-06-16 07:06:03       6 阅读
  7. 网站开发常规安全规范(持续更新)

    2024-06-16 07:06:03       8 阅读
  8. 大数据开发语言Scala入门

    2024-06-16 07:06:03       9 阅读
  9. 71、最长上升子序列II

    2024-06-16 07:06:03       9 阅读
  10. HTML5应用程序缓存:构建离线可用的Web应用

    2024-06-16 07:06:03       8 阅读
  11. 数据仓库数据集成开源工具

    2024-06-16 07:06:03       9 阅读
  12. 神经网络-文本-图像-音频-视频基础知识

    2024-06-16 07:06:03       10 阅读
  13. flinksql BUG : flink hologres-cdc source FINISHED

    2024-06-16 07:06:03       10 阅读