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

2月7日QT

作业: 手动将登录项目实现,不要使用拖拽编程

并且,当点击登录按钮时,后台会判断账号和密码是否相等,如果相等给出登录成功的提示,并且关闭当前界面,发射一个跳转信号,如果登录失败,则给出登录失败的提示,并清空密码框

当点击取消按钮时,直接关闭当前登录框

头文件:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QPushButton>
#include<QLabel>
#include<QLineEdit>
#include<QDebug>

class Widget : public QWidget
{
    Q_OBJECT

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

private:
    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;
    QLineEdit *edit1;
    QLineEdit *edit2;
    QPushButton *btn1;
    QPushButton *btn2;
};
#endif // WIDGET_H

源文件:

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //设置整个界面
    resize(400,500);
    setWindowTitle("KK快聊");

    //给lable1实例化空间并设置(logo)
    lab1= new QLabel("logo",this);
    lab1->resize(400,160);
    lab1->setStyleSheet("background-color:pink;");

    //给lable2实例化空间并设置(账号)
    lab2= new QLabel("账号",this);
    lab2->resize(50,40);
    lab2->move(40,200);
    //给lable3实例化空间并设置(密码)
    lab3= new QLabel("密码",this);
    lab3->resize(lab2->size());
    lab3->move(lab2->x(), lab2->y()+lab2->height()+10);

    //给edit1实例化空间并设置(输入账号)
    edit1=new QLineEdit(this);
    edit1->resize(200, 40);
    edit1->move(100,200);
    edit1->setAlignment(Qt::AlignCenter);        //设置对齐方式
    edit1->setPlaceholderText("请输入账号");      //设置占位文本
    //给edit2实例化空间并设置(输入密码)
    edit2=new QLineEdit(this);
    edit2->resize(edit1->size());
    edit2->move(edit1->x(), edit1->y()+edit1->height()+10);
    edit2->setAlignment(Qt::AlignCenter);        //设置对齐方式
    edit2->setPlaceholderText("请输入密码");      //设置占位文本
    edit2->setEchoMode(QLineEdit::Password);      //设置回显模式

    //给btn1实例化空间并设置(登录)
    btn1 = new QPushButton("登录", this);
    btn1->resize(50,30);
    btn1->move(140,400);
    //给btn2实例化空间并设置(取消)
    btn2 = new QPushButton("取消", this);
    btn2->resize(btn1->size());
    btn2->move(btn1->x()+btn1->width()+10, btn1->y());
    
    QObject::connect(btn1, &QPushButton::clicked, [this]()
    {
        if(1)
        {
            close();
        }
    }); 
    
    QObject::connect(btn2, &QPushButton::clicked, [this]()
    {
        close();
    }); 
    
}

Widget::~Widget()
{
}


http://www.kler.cn/a/538552.html

相关文章:

  • STM32 CUBE Can调试
  • 计算机视觉的研究方向、发展历程、发展前景介绍
  • 蓝耘智算平台与DeepSeek R1模型:推动深度学习发展
  • Android双屏异显Presentation接口使用说明
  • mysql 学习11 事务,事务简介,事务操作,事务四大特性,并发事务问题,事务隔离级别
  • F - Building Roads S
  • c/c++蓝桥杯经典编程题100道(16)链表反转
  • 面试经典150题——字典树
  • Deepseek本地部署指南:在linux服务器部署,在mac远程web-ui访问
  • 基于开源AI智能名片2+1链动模式S2B2C商城小程序的个人IP活动运营策略与影响力提升研究
  • LangChain + DeepSeek-R1:构建高效的语言模型服务
  • Qt+海康虚拟相机的调试
  • 调用Jenkins接口api的几个例子
  • 【R语言】数据重塑
  • 什么是ZooKeeper?
  • 前端开发中遇到的小问题以及解决方案记录3
  • 使用GD32F470的硬件SPI读写W25Q64
  • mysql 库建表数量有限制吗?
  • C语言时间相关宏定义
  • 并发编程 - 线程同步(五)之原子操作Interlocked详解二
  • C语言【基础篇】之数组——解锁多维与动态数组的编程奥秘
  • ASP.NET Core 使用 WebClient 从 URL 下载
  • Linux进阶——搭建http静态网站
  • Chatbox+阿里云免费秘钥打造专属自己的deepseek桌面客户端
  • 多智能体协作架构模式:驱动传统公司向AI智能公司转型
  • 如何利用Java和Kotlin实现动态网页内容抓取