day7(2024/2/8)

news2024/9/24 9:22:47

mainui.h(第二个界面)

#ifndef MAINUI_H
#define MAINUI_H

#include <QWidget>

namespace Ui {
class MainUi;
}

class MainUi : public QWidget
{
    Q_OBJECT

public:
    explicit MainUi(QWidget *parent = nullptr);
    ~MainUi();

public slots:
    void main_ui();

private:
    Ui::MainUi *ui;
};

#endif // MAINUI_H

mywidget.h(第一个界面)

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QMainWindow>
#include<QDebug>
#include<QIcon>
#include<QPushButton>
#include<QLineEdit>
#include<QLabel>
#include<cstring>
#include<iostream>

class MyWidget : public QMainWindow
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = 0);
    ~MyWidget();
public slots:
    void log_slot();
    void close_slot();

signals:
    void log_sig();

private:
    QPushButton *btn1;
    QPushButton *btn2;
    QLineEdit *edt1;
    QLineEdit *edt2;
};

#endif // MYWIDGET_H

main.cpp

#include "mywidget.h"
#include <QApplication>
#include "mainui.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MyWidget w;
    w.show();
    MainUi s;
    QObject::connect(&w,&MyWidget::log_sig,&s,&MainUi::main_ui);

    return a.exec();
}

mainui.cpp(第二个界面)

#include "mainui.h"
#include "ui_mainui.h"

MainUi::MainUi(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MainUi)
{
    ui->setupUi(this);

}

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

void MainUi::main_ui(){
    this->show();
}


#include "mywidget.h"
#include <QMessageBox>

MyWidget::MyWidget(QWidget *parent)
    : QMainWindow(parent)
{
    //设置界面固定大小
    this->resize(1728,972);
    this->setFixedSize(1728,972);
    this->setWindowIcon(QIcon(":/pic/qq1.png"));
    this->setWindowTitle("WeGame");
    this->setWindowFlag(Qt::FramelessWindowHint);

    //设定主界面背景
    QLabel *lab1=new QLabel(this);
    lab1->resize(1728,972);
    lab1->setPixmap(QPixmap(":/pic/hb.jpg"));
    lab1->setScaledContents(true);

    //设置游戏图标
    QLabel *lab2=new QLabel(this);
    lab2->resize(400,300);
    lab2->move(664,130);
    lab2->setPixmap(QPixmap(":/pic/1.2.png"));
    lab2->setScaledContents(true);

    //设置qq图标
    QLabel *lab3=new QLabel(this);
    lab3->resize(70,70);
    lab3->move(800,450);
    lab3->setPixmap(QPixmap(":/pic/qq.png"));
    lab3->setScaledContents(true);

    //设置微信图标
    QLabel *lab4=new QLabel(this);
    lab4->resize(70,70);
    lab4->move(928,450);
    lab4->setPixmap(QPixmap(":/pic/wx.png"));
    lab4->setScaledContents(true);

    //账号编辑
    edt1=new QLineEdit(this);
    edt1->resize(390,65);
    edt1->move(710,524);
    edt1->setPlaceholderText("请输入账号:");

    //密码设置
    edt2=new QLineEdit(this);
    edt2->resize(390,65);
    edt2->move(710,610);
    edt2->setPlaceholderText("请输入密码:");
    edt2->setEchoMode(QLineEdit::Password);

    //复选框保存密码
    QLabel *edit3=new QLabel("保存密码",this);
    edit3->move(710,690);
    edit3->resize(140,40);

    //复选框自动登录
    QLabel *edit4=new QLabel("自动登录",this);
    edit4->move(870,690);
    edit4->resize(140,40);

    //二维码
    QLabel *edt3=new QLabel(this);
    edt3->setPixmap(QPixmap(":/pic/ew.png"));
    edt3->move(1030,690);
    edt3->resize(50,40);
    edt3->setScaledContents(true);

    //快速安全登录按钮
    btn1=new QPushButton("快速安全登录",this);
    btn1->resize(390,65);
    btn1->move(710,760);
    btn1->setStyleSheet("background-color:rgb(255,102,40)");

    //右上角的x
    btn2=new QPushButton("×",this);
    btn2->resize(40,40);
    btn2->move(1670,0);

    //右上角的-
    QPushButton *btn3=new QPushButton("-",this);
    btn3->resize(40,40);
    btn3->move(1630,0);

    //使用qt4将右上角x设置关闭触发
    connect(btn2,SIGNAL(clicked()),this,SLOT(close_slot()));

    //使用qt5将快速登录按钮设置触发事件
    connect(btn1,&QPushButton::clicked,this,&MyWidget::log_slot);
}

//上角按钮x(关闭)的槽函数
void MyWidget::close_slot()
{
    //静态函数版本
    int res=QMessageBox::question(this,
                                  "提示",
                                  "您是否确定要退出登录",
                                  QMessageBox::Yes | QMessageBox::No);
    if(res == QMessageBox::Yes){
        this->close();
    }else {

    }
}

//登录按钮的槽函数
void MyWidget::log_slot(){
    //比较账号和密码
    if(QString::compare("admin",edt1->text())==0 && QString::compare("123456",edt2->text())==0){
        //静态成员函数版
        int res=QMessageBox::information(this,
                                         "提示",
                                         "登陆成功",
                                         QMessageBox::Ok);
        //登陆成功触发信号
        emit this->log_sig();
        this->close();//关闭窗口
    }else {
        //成员属性版
        QMessageBox msg(QMessageBox::Critical,
                     "错误!",
                     "密码错误",
                     QMessageBox::Yes | QMessageBox::No,
                     this);
        int res =msg.exec();
        if(res==QMessageBox::Yes){
            edt2->clear();
        }else{
            this->close();
        }
    }
}

MyWidget::~MyWidget()
{

}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

【Godot4.2】文件系统自定义控件 - FileSystemTree

FileSystemTree B站【Godot4.2】文件系统自定义节点 - FileSystemTree 概述 在Godot设计编辑器插件或应用程序时&#xff0c;可能需要涉及文件系统的显示&#xff0c;比如文件夹或文件的树形列表。 我们可以用Godot的Tree控件快速书写相应的功能&#xff0c;但是为了复用到…

如何内网映射到外网访问?

内网映射到外网访问是一种常见的网络技术&#xff0c;它允许内部网络的资源通过公网进行访问。在某些情况下&#xff0c;我们可能想要访问内部服务器或设备&#xff0c;但由于网络环境的限制&#xff0c;无法直接通过公网访问。此时&#xff0c;内网映射就成为一种解决方案。 天…

Unity BuffSystem buff系统

Unity BuffSystem buff系统 一、介绍二、buff系统架构三、架构讲解四、框架使用buff数据Json数据以及工具ShowTypeBuffTypeMountTypeBuffOverlapBuffShutDownTypeBuffCalculateType时间和层数这里也不过多说明了如何给生物添加buff 五、总结 一、介绍 现在基本做游戏都会需要些…

开源项目的三年,我的项目经历了哪些变化?

0.前言 自己一个项目写了三年&#xff0c;到底写了什么东西了&#xff0c;这个项目经历了哪些变化呢&#xff1f;其中的心路历程如何&#xff1f; 兄弟们&#xff0c;要是感觉我的项目有价值&#xff0c;去b站给俺点点关注呐。我更新的更快。点击下面的了解就可以跳转去b站。…

电路设计(14)——奥运纪念日显示装置的proteus仿真

1.设计要求 北京奥运于2008年8月8日开幕&#xff0c;假设倒计时还剩69天&#xff0c;请你&#xff0c;制作一个电子作品&#xff0c;用以显示上述意思 采用三个数码管&#xff0c;其中一个数码管反复显示2008 8.8&#xff1b;该数码管下方并排放置另两个数码管&#xff0c;这二…

PyTorch 2.2 中文官方教程(十一)

使用 PyTorch C 前端 原文&#xff1a;pytorch.org/tutorials/advanced/cpp_frontend.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 PyTorch C 前端是 PyTorch 机器学习框架的纯 C 接口。虽然 PyTorch 的主要接口自然是 Python&#xff0c;但这个 Python API 坐…

【flink状态管理(2)各状态初始化入口】状态初始化流程详解与源码剖析

文章目录 1. 状态初始化总流程梳理2.创建StreamOperatorStateContext3. StateInitializationContext的接口设计。4. 状态初始化举例&#xff1a;UDF状态初始化 在TaskManager中启动Task线程后&#xff0c;会调用StreamTask.invoke()方法触发当前Task中算子的执行&#xff0c;在…

嵌入式学习之Linux入门篇笔记——15,Linux编写第一个自己的命令

配套视频学习链接&#xff1a;http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 1.什么是命令&#xff1f; 命令就是可执行程序。 比如 ls -a…

专栏《数据结构与算法:初学者入门指南》序言

&#x1f389;&#x1f389;欢迎光临我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《数据结构与算法&#xff1a;初学者入…

解决flex gap兼容性问题

前言 一个项目写下来&#xff0c;在网页端预览的时候正常&#xff0c;结果到产品经理手上。 设计稿样式 实际产品手机上样式 产品&#xff1a;“你这玩意儿怎么没间距&#xff1f;” 我&#xff1a;“为什么我的正常&#xff1f;&#xff1f;&#xff1f;呐呐呐你看我手机&a…

CDN相关和HTTP代理

CDN相关和HTTP代理 参考&#xff1a; 《透视 HTTP 协议》——chrono 把这两个放在一起是因为容易搞混&#xff0c;我一开始总以为CDN就是HTTP代理&#xff0c;但是看了极客时间里透视HTTP协议的讲解&#xff0c;感觉又不仅于此&#xff0c;于是专门写下来。 先说结论&#xf…

Redis篇之redis是单线程

一、redis是单线程 Redis是单线程的&#xff0c;但是为什么还那么快&#xff1f;主要原因有下面3点原因&#xff1a; 1. Redis是纯内存操作&#xff0c;执行速度非常快。 2. 采用单线程&#xff0c;避免不必要的上下文切换可竞争条件&#xff0c;多线程还要考虑线程安全问题。 …

YOLOv8改进 | 利用训练好权重文件计算YOLOv8的FPS、推理每张图片的平均时间(科研必备)

一、本文介绍 本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有帮助,可以清晰帮你展示出模型速度性能的提升以及轻量…

python coding with ChatGPT 打卡第18天| 二叉树:从中序与后序遍历序列构造二叉树、最大二叉树

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树&#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树&#xff1a;翻转…

在Visual Studio中引用和链接OpenSceneGraph (OSG) 库

在Visual Studio中引用和链接OpenSceneGraph (OSG) 库&#xff0c;按照以下步骤操作&#xff1a; 构建或安装OSG库 下载OpenSceneGraph源代码&#xff08;如3.0版本&#xff09;并解压。使用CMake配置项目&#xff0c;为Visual Studio生成解决方案文件。通常您需要设置CMake中的…

ctfshow-命令执行(web73-web77)

web73 用不了上一题的通用poc了 因为禁用了strlen 但是可以改一个函数自定义一个函数只要是能实现strlen效果即可 cvar_export(scandir(/));exit(0); 根目录下有一个flagc.txt文件 cinclude(/flagc.txt);exit(0); web74 禁用了scandir函数 那就使用web72的glob协议 查看目录下…

Wireshark不显示Thrift协议

使用Wireshark对thrift协议进行抓包&#xff0c;但是只显示了传输层的tcp协议&#xff1a; "右键" -> "Decode As" 选择thrift的tcp端口 将“当前”修改为Thrift&#xff0c;然后点击“确定” 设置后&#xff0c;可以发现Wireshark里面显示的协议从Tcp变…

【每日一题】LeetCode——链表的中间结点

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有…

Unity3d Shader篇(五)— Phong片元高光反射着色器

文章目录 前言一、Phong片元高光反射着色器是什么&#xff1f;1. Phong片元高光反射着色器的工作原理2. Phong片元高光反射着色器的优缺点优点缺点 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三、效果四、总…

vue对于安装依赖时不好习惯的反省

因为一个不好的习惯&#xff0c;我总是喜欢–save去安装依赖包&#xff0c;然后发现最后打包后的内容总是很大。就想着怎么能让包小一些&#xff0c;就发现我遗漏了vue安装依赖的一个小知识点 安装依赖的时候可以-s -d -g去安装&#xff0c;要根据使用的内容选择去安装&#xf…