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; 文章图文…

C# Windows系统一键关机源代码共享

C# Windows系统一键关机源代码&#xff0c;可移植(复制粘贴)到的自己的项目中 exe可执行文件下载 C# 源码下载 using System; using System.Windows; using System.Windows.Threading;namespace 关机 {/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary&g…

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…

详解python的

详解& 在Python中&#xff0c;使用&符号可以求取两种数据类型的交集&#xff1a; 集合&#xff08;Set&#xff09;&#xff1a;你可以使用&来计算两个集合的交集。例如&#xff1a; set1 {1, 2, 3, 4} set2 {3, 4, 5, 6} common_elements set1 & set2 pri…

C/C++清空控制台输入缓冲区

今天我再写一个群聊小demo的时候发现了一个问题&#xff0c;我在客户端首先使用了scanf输入了昵称 然后开启了发消息线程和收消息线程&#xff0c;在发消息线程函数如下&#xff1a; unsigned WINAPI sendMsg(void* arg) {//发送消息给服务端SOCKET ClientSocket *((SOCKET*)…

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…

vue-cli配置proxy代理,操作代理请求和代理响应onProxyReq,onProxyRes

vue.config.js 有时候需要在代理请求中添加一些请求头或者在修改响应,那么可以通过onProxyReq和onProxyRes来修改代理请求,函数签名均为 (proxyReq|proxyRes,req,res)>{}如果要修改响应,那么还应配置proxy.xxx.selfHandleResponse:true 具体配置如下: module.exports {…

「解析」YOLOv5 classify分类模板

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

从零学算法110

110.给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1…

为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&…

PHP 通过 Redis 解决并发请求的操作问题

比如PHP收到两个并发的请求A和B&#xff0c;要求只能其中一个请求处理S1操作&#xff0c;另一个请求直接返回失败&#xff0c;可以通过redis去解决&#xff1a; SETNX&#xff08;SET if Not eXists&#xff09;是 Redis 中的一个原子命令&#xff0c;用于设置键-值对&#xf…

Redis --- 位图

目录 背景 结构 存取方式 统计和查找 背景 开发过程中&#xff0c;会有布尔类型的存储&#xff0c;比如记录一个用户一年365天的签到情况&#xff0c;如果每天都要有一个布尔变量&#xff0c;多个用户&#xff0c;亦或者使用k-v形式&#xff0c;上亿用户的话这个存储量是惊…