当前位置: 首页 > news >正文

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_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic: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(); //关闭窗口}

效果图

思维导图

http://www.lryc.cn/news/372777.html

相关文章:

  • 哪里有海量的短视频素材,以及短视频制作教程?
  • 文章MSM_metagenomics(三):Alpha多样性分析
  • Web前端与其他前端:深度对比与差异性剖析
  • AI 客服定制:LangChain集成订单能力
  • 【计算机毕业设计】242基于微信小程序的外卖点餐系统
  • java程序监控linux服务器硬件,cpu、mem、disk等
  • 高考报志愿闲谈
  • 面试官考我Object类中的所有方法及场景使用?我...
  • Web前端精通教程:深入探索与实战指南
  • 四轴飞行器、无人机(STM32、NRF24L01)
  • OpenAI Assistants API:如何使用代码或无需代码创建您自己的AI助手
  • CentOS7 配置Nginx域名HTTPS
  • C++入门8 构造函数析构函数顺序|拷贝构造
  • 【git使用四】git分支理解与操作(详解)
  • 【docker】如何解决artalk的跨域访问问题
  • MYSQL 索引下推 45讲
  • CentOS7服务器中安装openCV4.8的教程
  • Java课程设计:基于swing的贪吃蛇小游戏
  • 【HarmonyOS】HUAWEI DevEco Studio 下载地址汇总
  • 华为OD刷题C卷 - 每日刷题30(小明找位置,分隔均衡字符串)
  • SOFTS: 时间序列预测的最新模型以及Python使用示例
  • C++ 取近似值
  • 云原生系列之Docker常用命令
  • opencv_GUI
  • FlowUs轻量化AI:趁这波升级专业版,全年无限AI助力笔记产出与二次编写
  • Day 22:2786. 访问数组中的位置使分数最大
  • 理解Es的DSL语法(二):聚合
  • matlab-2-simulink-小白教程-如何绘制电路图进行电路仿真
  • CSS从入门到精通——背景样式
  • 网络编程---Java飞机大战联机