20230831-完成登录框的按钮操作,并在登录成功后进行界面跳转

登录框的按钮操作,并在登录成功后进行界面跳转

app.cpp

#include "app.h"
#include <cstdio>
#include <QDebug>
#include <QLineEdit>
#include <QLabel>
#include <QPainter>
#include <QString>
#include <QMessageBox>
#include <QRegExp>APP::APP(QWidget *parent) : QWidget(parent)
{//================构建窗口setWindowTitle==============================//this->setWindowTitle("阿巴阿巴");this->setWindowIcon(QIcon("C:/Users/BlackMC/Desktop/icon/wodepeizhenshi.png"));this->resize(430,327);//this->setStyleSheet("background-color:pink");//设定窗口透明度this->setWindowOpacity(1.5);//================构建画面===========================================//bel3 = new QLabel("",this);bel3->resize(430,148);//bel3->setPixmap(QPixmap("G:/steam/steamapps/workshop/content/431960/2949578938/preview.jpg"));bel3->setPixmap(QPixmap("C:/Users/BlackMC/Desktop/icon/p3.jpg"));bel3->setScaledContents(true);//图片自适应//================构建标签账户(Lable)================================//bel1 = new QLabel("账户",this);bel1->resize(35,35);bel1->setPixmap(QPixmap("C:/Users/BlackMC/Desktop/icon/userName.jpg"));bel1->setScaledContents(true);bel1->move(120,163);//================构建标签密码(Lable)================================//bel2 = new QLabel("密码",this);bel2->resize(35,35);bel2->setPixmap(QPixmap("C:/Users/BlackMC/Desktop/icon/passwd.jpg"));bel2->setScaledContents(true);bel2->move(118,220);//================构建输入框账户(Lable)==============================//edit1 = new QLineEdit(this);edit1->setStyleSheet("background-color:cyan");edit1->setPlaceholderText("QQ密码/手机/邮箱");edit1->resize(150,32);edit1->move(bel1->x()+55,163);//================构建输入框密码(Lable)==============================//edit2 = new QLineEdit(this);edit2->setStyleSheet("background-color:cyan");edit2->resize(150,32);edit2->move(bel2->x()+55,220);edit2->setPlaceholderText("密码");edit2->setEchoMode(QLineEdit :: Password);//================构建按钮登录(QPushButton)=========================//but1 = new QPushButton("登录",this);but1->setStyleSheet("background-color:orange");but1->resize(70,30);but1->move(195,280);but1->setIcon(QIcon("C:/Users/BlackMC/Desktop/icon/login.png"));//================构建按钮取消(QPushButton)=========================//but2 = new QPushButton("取消",this);but2->setStyleSheet("background-color:orange");but2->resize(but1->size());but2->move(but1->x()+90,280);but2->setIcon(QIcon("C:/Users/BlackMC/Desktop/icon/cancel.png"));//================构建按钮登录控件==================================//connect(but1,&QPushButton::clicked,this,&APP::on_111_clicked);//================使用qt4版本的链接,将按钮发射的pressed信号与按钮槽链接=////================构建按钮取消控件==================================//connect(but2,SIGNAL(pressed()),but1,SLOT(close()));}APP::~APP()
{
}//按钮登录的槽函数——1
void APP::on_111_clicked()
{int result1 = QString::compare("tjq", edit1->text(), Qt::CaseInsensitive);int result2 = QString::compare("123456", edit2->text(), Qt::CaseInsensitive);if(result1 == 0 && result2 == 0)    //登录成功!{int ret = QMessageBox::warning(this, QStringLiteral("Good"), QStringLiteral("登录成功!"), QMessageBox::Cancel | QMessageBox::Ok);if( ret == QMessageBox::Ok){emit jump();this->close();//connect(but1,&QPushButton::released,this,&APP::on_jumpsecond);//connect(QMessageBox::Ok,SIGNAL(QMessageBox::Ok),this,SLOT(&APP::on_jumpsecond));}}else        //登录失败!{QMessageBox::warning(this, QStringLiteral("Error!"), QStringLiteral("登录失败!"), QMessageBox::Cancel | QMessageBox::Ok);edit2->clear();}}
//按钮登录的槽函数——2
/*void APP::on_jumpsecond()

app.h

#include <QDebug>
#include <QLineEdit>
#include <QLabel>
#include <QPainter>
#include <cstdio>
#include <QString>
#include <QMessageBox>
#include <QRegExp>class APP : public QWidget
{Q_OBJECTsignals:void my_signal();//信号函数void jump();//信号函数
public slots://自定义的槽函数列(只有槽函数才作用与connect的槽函数参数)void on_111_clicked();//登录按钮触发-槽函数//void on_jumpsecond();//界面跳转触发-槽函数public:APP(QWidget *parent = nullptr);~APP();
private:QLabel *bel1;QLabel *bel2;QLabel *bel3;QLineEdit *edit1;QLineEdit *edit2;QPushButton *but1;QPushButton *but2;
};
#endif // APP_H

second.cpp

#include "second.h"
#include "ui_second.h"Second::Second(QWidget *parent):QWidget(parent),ui(new Ui::Second)
{//================构建窗口setWindowTitle==============================//this->setWindowTitle("QQ界面");this->setStyleSheet("background-color:pink");//this->setWindowIcon(QIcon("C:/Users/BlackMC/Desktop/icon/wodepeizhenshi.png"));this->resize(820,327);//设定窗口透明度this->setWindowOpacity(2.0);//===========================================================//ui->setupUi(this);
}Second::~Second()
{delete ui;
}void Second::jump_second()
{this->show();
}

second.h

#ifndef SECOND_H
#define SECOND_H#include <QWidget>namespace Ui {
class Second;
}class Second : public QWidget
{Q_OBJECTpublic slots:      //槽函数void jump_second();public:explicit Second(QWidget *parent = nullptr);~Second();private:Ui::Second *ui;
};#endif // SECOND_H

main.cpp

#include "app.h"
#include "second.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);APP w;w.show();Second f;QObject::connect(&w,&APP::jump,&f,&Second::jump_second);return a.exec();
}

Xmain

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/67227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python操作Excel教程(图文教程,超详细)Python xlwings模块详解,

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 xlwings模块详解 1、快速入门1、打开Excel2、创建工作簿2.1、使用工作簿2.2、操作…

【css】z-index与层叠上下文

z-index属性用来设置元素的堆叠顺序&#xff0c;使用z-index有一个大的前提&#xff1a;z-index所作用元素的样式列表中必须有position属性并且属性值为absolute、relative或fixed中的一个&#xff0c;否则z-index无效。 层叠上下文 MDN讲解 我们给元素设置的z-index都是有一…

面试中的时间管理:如何在有限时间内展示最大价值

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

SVN 集中式版本管理平台

1. SVN 命令行工具下载地址 https://www.visualsvn.com/downloads/ 2. 下载SVN 命令行工具后&#xff0c;解压后就可以了&#xff0c;不需要安装的 3. 将bin 文件添加到系统环境变量中&#xff0c;不知道怎么打开系统环境变量的自己问度娘 4. 添加到系统环境变量中&#xff0c;…

21.CSS的动态圆形进度条

效果 源码 <!doctype html> <html><head><meta charset="utf-8"><title>Animated Circular Progress | CSS Only</title><link rel="stylesheet" href="style.css"></head><body><di…

K8S自动化运维容器Docker集群

K8S&#xff1a;K8S自动化运维容器化(Docker)集群 一.k8s概述 1.k8s是什么 &#xff08;1&#xff09;K8S全程为Kubernetes&#xff0c;由于K到S直接有8个字母简称为K8S。 &#xff08;2&#xff09;版本&#xff1a;目前一般是1.18~1.2.0&#xff0c;后续可能会到1.24-1.2…

「解析」YOLOv5 classify分类模板

学习深度学习有些时间了&#xff0c;相信很多小伙伴都已经接触 图像分类、目标检测甚至图像分割(语义分割)等算法了&#xff0c;相信大部分小伙伴都是从分类入门&#xff0c;接触各式各样的 Backbone算法开启自己的炼丹之路。 但是炼丹并非全是 Backbone&#xff0c;更多的是各…

为C# Console应用化个妆

说到Windows的cmd&#xff0c;刻板印象就是黑底白字的命令行界面。跟Linux花花绿绿的界面比&#xff0c;似乎单调了许多。但其实C#开发的Console应用也可以摆脱单调非黑即白的UI。 最近遇到个需求&#xff0c;要在一堆纯文本文件里找指定的关键字&#xff08;后续还要人肉判断…

LMD-恶意软件检测工具

LMD是Linux恶意软件扫描器&#xff0c;以GNU GLPv2许可发布。 官方地址&#xff1a;https://www.rfxn.com 下载软件包命令&#xff1a; wget https://www.rfxn.com/downloads/maldetect-current.tar.gz tar命令解包后进入其目录。 安装命令如下&#xff1a; ./install.sh …

〔021〕Stable Diffusion 之 提示词反推、自动补全、中文输入 篇

✨ 目录 &#x1f388; 反推提示词 / Tagger&#x1f388; 反推提示词 Tagger 使用&#x1f388; 英文提示词自动补全 / Booru tag&#x1f388; 英文提示词自动补全 Booru tag 使用&#x1f388; 中文提示词自动补全 / tagcomplete&#x1f388; 中文提示词自动补全 tagcomple…

说说IO多路复用

分析&回答 IO多路复用 I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态(对应空管塔里面的Fight progress strip槽)来同时管理多个I/O流。直白点说&#xff1a;多路指的是多个socket连接&#xff0c;复用指的是复用一个…

如何创建美观的邮件模板并通过qq邮箱的SMTP服务向用户发送

最近在写注册功能的自动发送邮箱告知验证码的功能&#xff0c;无奈根本没有学过前端&#xff0c;只有写Qt的qss基础&#xff0c;只好借助网页设计自己想要的邮箱格式&#xff0c;最终效果如下: 也推销一下自己的项目ShaderLab&#xff0c;可运行ShaderToy上的大部分着色器代码&…

npm install 包的时候,提示安装成功,但是项目中没有出现,node_modules也没有安装的包,package.json中也没有任何依赖包记录

——这种情况一般是包安装错了目录&#xff01; 解决步骤&#xff1a; 1. 查看npm的配置 npm config list2.查看全局下&#xff0c;是否有自己安装的包 npm root -g//获取到全局安装目录找到返回的地址中是否有自己安装的包 3.修改npm配置信息&#xff0c;查看 图例1&…

postgis数据库从一张表中过滤出一部分数据到新表中

你可以使用以下步骤在PostGIS数据库中过滤objectid<100的数据&#xff0c;并将其创建为新表&#xff1a;打开PostGIS数据库的终端或客户端工具&#xff08;如Psql&#xff09;。 选择你要过滤数据的表。假设表名为"original_table"&#xff0c;该表包含一个名为&q…

【C++】函数参数扩展 ② ( 占位参数 | 占位参数规则 - 必须为占位参数传入实参 | 默认参数与占位参数结合使用 )

文章目录 一、占位参数1、占位参数简介2、占位参数规则 - 必须为占位参数传入实参 二、默认参数与占位参数结合使用1、结合用法2、代码示例 - 占位参数与默认参数结合用法 博客总结 : 默认参数 : 在 声明 函数时 , 为 函数参数 定义一个默认值 ;默认参数规则 : " 默认参数…

时序预测 | MATLAB实现TCN-GRU时间卷积门控循环单元时间序列预测

时序预测 | MATLAB实现TCN-GRU时间卷积门控循环单元时间序列预测 目录 时序预测 | MATLAB实现TCN-GRU时间卷积门控循环单元时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现TCN-GRU时间卷积门控循环单元时间序列预测&#xff1b; 2.运行环…

【工程实践】使用git clone 批量下载huggingface模型文件

前言 经常需要下载模型到服务器&#xff0c;使用git clone方法可以快速实现模型下载。 1.选定要下载的模型 以下载moka-ai/m3e-base为例&#xff0c;切换到Files and versions。 2.更改下载网页的url 如上图所示&#xff0c;当前要下载模型网页的url为&#xff1a; https://hu…

SpringMVC使用

文章目录 一.MVC基础概念1.MVC定义2.SpringMVC和MVC的关系 二.SpringMVC的使用1.RequestMapping2.获取参数1.获取单个参数2.传递对象3.后端参数重命名&#xff08;后端参数映射&#xff09;4.获取URL中参数PathVariable5.上传文件RequestPart6.获取Cookie/Session/header 3.返回…

数据可视化工具中的显眼包:奥威BI自带方案上阵

根据经验来看&#xff0c;BI数据可视化分析项目是由BI数据可视化工具和数据分析方案两大部分共同组成&#xff0c;且大多数时候方案都需从零开始&#xff0c;反复调整&#xff0c;会耗费大量时间精力成本。而奥威BI数据可视化工具别具匠心&#xff0c;将17年经验凝聚成标准化、…

算法训练 第一周

一、合并两个有序数组 本题给出了两个整数数组nums1和nums2&#xff0c;这两个数组均是非递减排列&#xff0c;要求我们将这两个数组合并成一个非递减排列的数组。题目中还要求我们把合并完的数组存储在nums1中&#xff0c;并且为了存储两个数组中全部的数据&#xff0c;nums1中…