qt作业day2

news2024/11/30 13:48:28
//widget.cpp

#include "widget.h"
#include "ui_widget.h"



void Widget::usr_login()
{
    if("admin" == this->edit_acc->text())
    {
        if("123456" == this->edit_psd->text())
        {
            speech->say("登录成功");
            emit jump_sig1();
            this->hide();
        }
        else {
            speech->say("账号或密码错误");
            this->edit_psd->clear();
        }
        return;
    }
    speech->say("账号或密码错误");

    this->edit_psd->clear();
}

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

    //设置窗口标题
    this->setWindowTitle("第七史诗");
    //设置窗口icon
    this->setWindowIcon(QIcon(":/icon/1.png"));

    //设置窗口大小
    this->resize(QSize(500,400));


    //创建标签,设置图片
    this->lab_front = new QLabel(this);
    lab_front->setPixmap(QPixmap(":/icon/logo.png"));
    lab_front->setScaledContents(true);
    lab_front->resize(500,200);

    lab_acc = new QLabel(this);
    lab_acc->setPixmap(QPixmap(":/icon/userName.jpg"));
    lab_acc->setScaledContents(true);
    lab_acc->resize(40,30);
    lab_acc->move(100,lab_front->y() + lab_front->height() + 30);


    lab_psd = new QLabel(this);
    lab_psd->setPixmap(QPixmap(":/icon/passwd.jpg"));
    lab_psd->resize(lab_acc->size());
    lab_psd->setScaledContents(true);
    lab_psd->move(lab_acc->x(),lab_acc->y() + 50);

    //增加单行编辑器
    edit_acc = new QLineEdit(this);
    edit_acc->setPlaceholderText("stove账号/邮箱");
    cout << lab_acc->width() << endl;
    edit_acc->move(lab_acc->x() + lab_acc->width() + 50,lab_acc->y());

    edit_psd = new QLineEdit(this);
    edit_psd->setPlaceholderText("密码");
    edit_psd->move(edit_acc->x(),edit_acc->y() + 50);

    //设置输入内容隐藏
    edit_psd->setEchoMode(QLineEdit :: Password);

    //登录按钮
    btn_login = new QPushButton("登录",this);
    btn_login->setIcon(QIcon(":/icon/login.png"));
    btn_login->move(300,edit_psd->y() + edit_psd->height() + 30);

    //取消按钮
    btn_cancel = new QPushButton("取消",this);
    btn_cancel->setIcon(QIcon(":/icon/cancel.png"));
    btn_cancel->move(btn_login->x() + btn_login->width() + 10,btn_login->y());

    //设置语音播报
    speech = new QTextToSpeech(this);


    server = new QComboBox(this);
    server->addItem("日本服务器");
    server->addItem("韩国服务器");
    server->addItem("国际服务器");
    server->move(50,btn_cancel->y());
    connect(btn_cancel,&QPushButton :: clicked,this,&Widget :: close);
    connect(btn_login,&QPushButton :: clicked,this,&Widget :: usr_login);



}

Widget::~Widget()
{
    delete ui;
}
//widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QSize>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>
#include <QComboBox>
#include <iostream>
#include <QString>
#include <QDebug>
#include <QTextToSpeech>
#include <windows.h>

using namespace std;


namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT
    public:
signals:
    void my_signal();
    void jump_sig1();
public slots:
    void usr_login();

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


private:
    Ui::Widget *ui;
    QLabel *lab_front,*lab_acc,*lab_psd;
    QLineEdit *edit_acc,*edit_psd;
    QPushButton *btn_login,*btn_cancel;
    QComboBox *server;
    QTextToSpeech *speech;

};

//void Widget :: jump_sig1()
//{
//    this->hide();
//}

#endif // WIDGET_H
//form.h

#ifndef FORM_H
#define FORM_H

#include <QWidget>
#include "widget.h"
namespace Ui {
class Form;
}

class Form : public QWidget
{


    Q_OBJECT


public slots:
    void jump_slot();

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

private:
    Ui::Form *ui;
    QPushButton *return_key;
};

#endif // FORM_H
//form.cpp

#include "form.h"
#include "ui_form.h"

void Form::jump_slot()
{
    this->show();
}

Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    ui->setupUi(this);
    this->resize(QSize(800,700));
    return_key = new QPushButton(this);
    return_key->resize(80,70);
    QPixmap icon1(":/icon/return.png");
    icon1.scaled(return_key->size());

//    QLabel *lab = new QLabel(this);
//    lab->setPixmap(icon1);
    return_key->setIcon(icon1);

    return_key->setStyleSheet("background-image:url(:/icon/return.png)");
    return_key->move(300,200);

}

Form::~Form()
{
    delete ui;
}
//main.cpp

#include "widget.h"
#include <QApplication>
#include "form.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    Form f;
    //f.show();
    QObject :: connect(&w,&Widget :: jump_sig1,&f,&Form :: jump_slot);
    return a.exec();
}

运行效果

登录成功后跳转from界面

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

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

相关文章

latex修改公式的默认编号

文章目录 问题描述省流出错演示没有载入amsmath包载入amsmath包 总结 问题描述 有时想自己定义公式的编号&#xff0c;不想用默认的编号(1) (2)…&#xff0c;我们应该怎么做呢&#xff1f; 只需看本文一分钟就能解决。 省流 开头载入amsmath包&#xff0c;然后在公式后面加…

【C4bp】

--- --- # 2% of all animal proteins contain FN3 repeat # Humans in protein body of 1/3 constitutes Collagen

最小可用产品MVP,投石问路

最小可用产品MVP【安志强趣讲281期】 MVP(Minimum Viable Product) 趣讲大白话&#xff1a;投是问路 **************************** 最小可用产品MVP可以是如下形式&#xff1a; 1、简陋产品 2、贵宾式MVP&#xff1a;为少量客户全力周到服务&#xff0c;获得市场反馈 3、静态页…

数字 IC 设计职位经典笔/面试题(四)

共100道经典笔试、面试题目&#xff08;文末可全领&#xff09; 画出 CMOS 电路的晶体管级电路图,实现 YA*BC(DE).&#xff1f; 画出 YABC 的 CMOS 电路图&#xff0c;画出 YABCD 的 CMOS 电路图。 利用与非门和或非门实现 YABC(DE)((AB’)(CD)’(CE)’)’ 三个两输入与非门&a…

2023高教社杯数学建模A题思路分析 - 定日镜场的优化设计

# 1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统&#xff0c; 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…

物理层-数据链路层-网络层-传输层-会话层-表示层-应用层

Go网络编程 网络协议 从应用的角度出发&#xff0c;协议可理解为“规则”&#xff0c;是数据传输和数据的解释的规则。假设&#xff0c;A、B双方欲传输文件。规定&#xff1a; 第一次&#xff0c;传输文件名&#xff0c;接收方接收到文件名&#xff0c;应答OK给传输方&…

DC/DC开关电源学习笔记(四)开关电源电路主要器件及技术动态

(四)开关电源电路主要器件及技术动态 1.半导体器件2.变压器3.电容器4.功率二极管5.其他常用元件5.1 电阻5.2 电容5.3 电感5.4 变压器5.5 二极管5.6 整流桥5.7 稳压管5.8 绝缘栅-双极性晶体管1.半导体器件 功率半导体器件仍然是电力电子技术发展的龙头, 电力电子技术的进步必…

【数据库事务日志碎片原理分析与方案】-分析篇

前言:说都数据库的事务日志&#xff0c;可以说我们是再熟悉不过的了。一般而言&#xff0c;我们都没有必 要去关心事务日志中的虚拟日志文件的个数。这里提到的“虚拟日志文件”的概念&#xff0c;我们 后面会进行专门的讲述。很多的时候&#xff0c;我们在建立数据库的时候&am…

Android开发重大新闻,安卓手机将不能无视风险安装APP

工信部发文要求所有的APP必须在2024年前完成入网备案。否则它将不再支持网络接入&#xff0c;简单来说这一个决定可以说是封杀了所有的盗版色情擦边APP&#xff1b;之后这些软件将无法再联网使用这么说安卓也终于迎来了绿色上网自由。 用户的利与弊 备案要求会让手机上的“流氓…

大数据课程L2——网站流量项目的算法分析数据处理

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的算法分析; ⚪ 了解网站流量项目的数据处理; 一、项目的算法分析 1. 概述 网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内…

【办公类-19-03】办公中的思考——Python批量制作word单元格照片和文字(小照片系列)

背景需求&#xff1a; 工会老师求助&#xff1a;如何在word里面插入4*8的框 我一听&#xff0c;这又是要手动反复黏贴“文本框”“照片”“文字”的节奏哦 我问&#xff1a;你要做几个人&#xff1f;超过20个&#xff0c;我写个程序批量插图 工会老师&#xff1a;大约十几个人…

2023最新pytorch安装教程,简单易懂,面向初学者(Anaconda+GPU)

一、前言 目前是2023.1.27,鉴于本人安装过程中踩得坑&#xff0c;安装之前我先给即将安装pytorch的各位提个醒&#xff0c;有以下几点需要注意 1.判断自己电脑是否有GPU 注意这点很重要&#xff0c;本教程面向有NVIDA显卡的电脑&#xff0c;如果你的电脑没有GPU或者使用AMD显…

2020年09月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;循环数 若一个n位的数字串满足下述条件&#xff0c;则称其是循环数&#xff08;cyclic&#xff09;&#xff1a;将这个数字串视为整数&#xff08;可能带有前导0&#xff09;&#xff0c;并用任意一个 …

Simulink|用于光伏系统最大功率点跟踪(MPPT)的极值寻道控制(ESC)【采用极值寻道控制算法求解非线性函数的最大/最小点】

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

YOLO目标检测——火焰烟雾数据集+已标注VOC和YOLO格式标签下载分享

实际项目应用&#xff1a;火灾预警系统、智能监控系统、工业安全管理、森林火灾监测以及城市规划和消防设计等应用场景中具有广泛的应用潜力&#xff0c;可以提高火灾检测的准确性和效率&#xff0c;保障人员和财产的安全。数据集说明&#xff1a;YOLO火焰目标检测数据集&#…

超图聚类论文阅读2:Last-step算法

超图聚类论文阅读2&#xff1a;Last-step算法 《使用超图模块化的社区检测算法》 《Community Detection Algorithm Using Hypergraph Modularity》 COMPLEX NETWORKS 2021, SCI 3区 具体实现源码见HyperNetX库 工作&#xff1a;提出了一种用于超图的社区检测算法。该算法的主要…

蓝牙技术|ESL蓝牙电子价签将成为智能市场新的增长点

蓝牙技术联盟&#xff08;Bluetooth Special Interest Group, SIG&#xff09;发布年度报告《2023年蓝牙市场最新资讯》&#xff0c;揭示蓝牙技术的最新发展趋势&#xff0c;及其在各个应用市场中不断扩大的影响力。报告提供了低功耗音频&#xff08;LE Audio&#xff09;和Aur…

数字图像处理-形态学图像处理

形态学图像处理 一、基础知识1.1 什么是形态学操作 二、腐蚀与膨胀2.1 腐蚀2.2 膨胀 三、开操作与闭操作3.1 开操作3.2 闭操作3.3 实验对比 四、一些基本的形态学算法4.1边界提取4.2空洞填充4.3 凸壳 一、基础知识 1.1 什么是形态学操作 数字图像处理中的形态学操作是一组用于…

PY32F003F18串口printf功能

1、PY32F003F18复用功能总结&#xff1a; //GPIOxGPIOA,PinGPIO_PIN_0,alternateGPIO_AF9_USART2,则将PA0引脚复用为USART2_TX //GPIOxGPIOA,PinGPIO_PIN_0,alternateGPIO_AF10_SPI1,则将PA0引脚复用为SPI1_MISO //GPIOxGPIOA,PinGPIO_PIN_1,alternateGPIO_AF0_SPI1,则将PA1引…

容器编排学习(六)服务管理与用户权限管理

一 service管理 1 概述 容器化带来的问题 自动调度&#xff1a;在 Pod 创建之前&#xff0c;用户无法预知 Pod 所在的节点&#xff0c;以及 Pod的IP 地址一个已经存在的 Pod 在运行过程中&#xff0c;如果出现故障&#xff0c;Pod也会在新的节点使用新的IP 进行部署应用程…