24/01/09 qt work

  1. 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数

将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出"登录成功",并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空

cpp 复制代码
头文件:

#ifndef MYMAINWINDOW_H
#define MYMAINWINDOW_H

#include <QMainWindow>
#include <QLineEdit>
#include <QTextEdit>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class MyMainWindow; }
QT_END_NAMESPACE

class MyMainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MyMainWindow(QWidget *parent = nullptr);
    ~MyMainWindow();

private:
    Ui::MyMainWindow *ui;

public slots:
    //登录槽函数
    void loginButton_clicked();
    //退出槽函数
    void exitButton_clicked();

};

#endif // MYMAINWINDOW_H

xxx.cpp

#include "mymainwindow.h"
#include "ui_mymainwindow.h"

MyMainWindow::MyMainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MyMainWindow)
{
    this->setWindowTitle("ui");
    ui->setupUi(this);
    ui->logoLabel->setPixmap(QPixmap(":/pictrue/dt4.gif"));
    ui->logoLabel->setScaledContents(true);

    ui->passwdEdit->setEchoMode(QLineEdit::Password);

    //连接 登录 q5连接
    connect(ui->loginButton,&QPushButton::clicked,this,&MyMainWindow::loginButton_clicked);
    //连接 退出 q4连接
    connect(ui->exitButton,SIGNAL(clicked()),this,SLOT(exitButton_clicked()));
}

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


void MyMainWindow::loginButton_clicked()
{
    QString username = ui->userNameEdit->text();
    if(username == NULL){
        qDebug() << "用户名为空";
        return;
    }
    QString passwd = ui->passwdEdit->text();
    if(passwd == NULL){
        qDebug() << "密码为空";
        return;
    }
    if(username != "admin"){
        qDebug() << "用户名不正确";
        ui->userNameEdit->setText("");
        return;
    }
    if(passwd != "123456"){
        qDebug() << "密码不正确";
        ui->passwdEdit->setText("");
        return;
    }

    qDebug() << "恭喜你,登录成功";

    this->close();
}

// 自定义退出实现
void MyMainWindow::exitButton_clicked()
{
    qDebug() << "系统退出";
    this->close();
}
  1. 思维导图
相关推荐
星栈独行2 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
qq_448011163 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
孫治AllenSun4 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c238565 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
moonsims6 小时前
星闪在跨域无人化系统作用
开发语言·php
Iruoyaoxh7 小时前
栈和队列~
java·开发语言
Hrain-AI7 小时前
2026 企业 AI 编程智能体实战:Codex 与 Claude Code
开发语言·人工智能·kotlin
wdfk_prog7 小时前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
oort1237 小时前
吃上了自家的细糠,还挺丝滑,用起来手感还行,OortCloud发布新版AI编程平台,下载 OortCodex,Token多,免费薅
大数据·开发语言·人工智能·ai编程
slandarer8 小时前
MATLAB | 泰勒图绘制,支持各种角度范围
开发语言·数学建模·matlab·nature·顶刊·泰勒图