qt作业day2

//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("第七史诗");//设置窗口iconthis->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_OBJECTpublic:
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_OBJECTpublic 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.mzph.cn/news/72727.shtml

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

相关文章

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南京财经大学图书馆

Win11搭建 Elasticsearch 7 集群(一)

一&#xff1a; ES与JDK版本匹配一览表 elasticsearch从7.0开始默认安装了java运行环境&#xff0c;以便在没有安装java运行环境的机器上运行。如果配置了环境变量JAVA_HOME&#xff0c;则elasticsearh启动时会使用JAVA_HOME作为java路径&#xff0c;否则使用elasticsearch根目…

【录用案例】CCF-C类,1/2区SCIEI,3个月14天录用,30天见刊,11天检索

计算机科学类SCI&EI 【期刊简介】IF&#xff1a;5.5-6.0&#xff0c;JCR1/2区&#xff0c;中科院2区 【检索情况】SCI&EI 双检&#xff08;CCF-C类&#xff09; 【征稿领域】边缘计算、算法与机器学习的结合研究 录用案例&#xff1a;3个月14天录用&#xff0c;录用…

Android lint配置及使用

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、将 lint 配置为不显示警告3.1 在 A…

【TSN】(一)中英译文

【Two Stream Net】 一&#xff0c;双语翻译 文章目录 【Two Stream Net】Abstract1 Introduction1.1 Related work 2 Two-stream architecture for video recognition3 Optical flow ConvNets3.1 ConvNet input configurations3.2 Relation of the temporal ConvNet archite…

论文阅读 (100):Simple Black-box Adversarial Attacks (2019ICML)

文章目录 1 概述1.1 要点1.2 代码1.3 引用 2 背景2.1 目标与非目标攻击2.2 最小化损失2.3 白盒威胁模型2.4 黑盒威胁模型 3 简单黑盒攻击3.1 算法3.2 Cartesian基3.3 离散余弦基3.4 一般基3.5 学习率 ϵ \epsilon ϵ3.6 预算 1 概述 1.1 要点 题目&#xff1a;简单黑盒对抗攻…

Docker 概念构成

0 概述 构成原理 Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK与 Docker 的守护进程通信。Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。Docker Hub 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多…

E5071C是德科技网络分析仪

描述 E5071C网络分析仪提供同类产品中最高的RF性能和最快的速度&#xff0c;具有宽频率范围和多功能。E5071C是制造和R&D工程师评估频率范围高达20 GHz的RF元件和电路的理想解决方案。特点: 宽动态范围:测试端口的动态范围> 123 dB(典型值)快速测量速度:41毫秒全2端口…

YOLOV8从零搭建一套目标检测系统(修改model结构必看)附一份工业缺陷检测数据集

目录 1.YOLOV8介绍 2.YOLOV8安装 2.1环境配置 3.数据集准备 1.YOLOV8介绍 Yolov8结构图&#xff1a; YoloV8相对于YoloV5的改进点&#xff1a; Replace the C3 module with the C2f module. Replace the first 6x6 Conv with 3x3 Conv in the Backbone. Delete two Convs …

Linux socket网络编程实战(tcp)实现双方聊天

在上节已经系统介绍了大致的流程和相关的API&#xff0c;这节就开始写代码&#xff01; 回顾上节的流程&#xff1a; 创建一个NET文件夹 来存放网络编程相关的代码&#xff1a; tcp服务端代码初步实现--上 这部分先实现服务器的连接部分的代码并进行验证 server1.c&#xff…

接口自动化测试总结

一、什么项目适合做自动化测试&#xff1f; 软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&#xff0c;而脚本的维护本身就是一个代码开发的过程&#x…

【二分答案 dp】 Bare Minimum Difference

分析&#xff1a; 首先我们能够得知这个优秀值具有单调性&#xff1a; 如果一个优秀值 x 1 x1 x1能够满足题目要求&#xff0c;那么任何 x ( x > x 1 ) x(x>x1) x(x>x1)显然都能符合要求 基于这一特性&#xff0c;我们想到二分答案 直接二分这个答案好像难以维护。 …

【计算机网络】 静态库与动态库

文章目录 静态库实践使用方法总结 动态库实践使用方法总结 静态库与动态库的优缺点静态库优点缺点 动态库缺点优点 库有两种&#xff1a;静态库&#xff08;.a、.lib&#xff09;和动态库&#xff08;.so、.dll&#xff09;。所谓静态、动态是指链接。静态库是将整个库文件都拷…

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题

虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题 文章目录 虚幻引擎4中关于设置关于体坐标系下的物体速度的相关问题前言全局坐标系转体坐标系速度设置X轴方向的体坐标系速度设置Y轴方向的体坐标系速度XY轴体坐标系速度整合 Z轴速度的进一步设置解决办法 小结 前言 利…

[git] 如何克隆仓库,进行项目撰写,并绑定自己的远程仓库

摘要&#xff1a;删除.git文件&#xff0c;才可重新绑定远程仓库。 具体步骤&#xff1a; 文件夹右键&#xff0c;进入”Git Bash Here“执行命令 1. 执行 ”git clone 仓库地址“&#xff0c;克隆仓库 2. 在生成的仓库中&#xff0c;删除 .git 文件 3. git init 初始化仓库…

自造简易版音频进度条

最近在做音乐播放器页面, 积累了很多有趣的经验, 今天先分享播放进度条的开发过程. 效果 话不多说&#xff0c;先看效果 支持点击修改进度&#xff0c;拖拽修改进度&#xff0c;当然大家肯定都知道ui库里面有现成的&#xff0c;为何要自己造一个 首先著名的ui库中确实都要这…

前端实习第七周周记

前言 第六周没写&#xff0c;是因为第六周的前两天在处理第五周的样本库部分。问题解决一个是嵌套问题&#xff08;因为我用到了递归&#xff09;&#xff0c;还有一个问题在于本机没有问题&#xff0c;打包上线接口404。这个问题我会在这周的总结中说。 第六周第三天才谈好新…

《TCP/IP网络编程》阅读笔记--地址族和数据序列

目录 1--IP地址和端口号 2--地址信息的表示 3--网络字节序与地址变换 4--网络地址的初始化与分配 5--Windows部分代码案例 1--IP地址和端口号 IP 地址分为两类&#xff1a; ① IPv4 表示 4 字节地址族&#xff1b; ② IPv6 表示 16 字节地址族&#xff1b; IPv4 标准的 4 …

Meta 验证徽章:为何大家都想在 FB 和 IG 上获得元验证

随着 Meta&#xff08;前身为 Facebook&#xff09;和 Instagram 统治数字领域&#xff0c;Meta Verified 徽章已成为真实性的终极象征。无论您是公众人物还是品牌&#xff0c;在Facebook和Instagram上获得此徽章都会对您的在线形象产生深远的影响。Facebook验证于2013年首次推…

【文字到语音的论文总结】

1.文字到语音的整个过程 文字到语音的一般整体结构 主要是下面这个流程&#xff0c;每个网络可能会把其中两者或是三者融合在一起来&#xff1b; 长度不同的问题 生成的语音可能和文字的长度并不一样&#xff0c;因此需要解决这个问题 Tactron使用的是交叉注意力的方式解…