qt作业day2

news/2025/1/3 15:34:08/
//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.ppmy.cn/news/1096961.html

相关文章

8月AI实战:工业视觉缺陷检测

8月AI实战&#xff1a;工业视觉缺陷检测 –基于tflite的yolov8模型优化和推理 操作视频见B站连接&#xff1a;aidlux模型优化工业缺陷检测&#xff5e;&#xff5e;完美用我的华为手机实现缺陷检测的推理bilibiliaidlux模型优化工业缺陷检测&#xff5e;&#xff5e;完美用我…

【漏洞库】Fastjson_1.2.47_rce

文章目录 漏洞描述漏洞编号漏洞评级影响版本漏洞复现- 利用工具- 漏洞环境- 漏洞扫描- 漏洞验证- 深度利用- GetShell- EXP 编写 漏洞挖掘- 寻找入口点- 指纹信息 修复建议- 漏洞修复 漏洞原理 漏洞描述 Fastjson是阿里巴巴公司开源的一款json解析器&#xff0c;其性能优越&am…

报考浙江工业大学MBA项目如何选择合适的辅导班?

浙江工业大学MBA项目每年有数百人报考&#xff0c;在浙江省内除了浙大以外算是人数比较多的一个项目。2023级的招生中第一志愿也通过复试刷掉了百来人&#xff0c;在省内其实作为第一志愿报考的风险在逐渐增大&#xff0c;考生们如果坚持报考&#xff0c;则在针对联考初试的备考…

ROS可视化工具——Webviz和Foxglove

ROS1工具&#xff1a; ROS1而言&#xff0c;rqt和plotjuggler是我们最常用的工具&#xff0c;这两个工具&#xff1a;rqt中嵌入了很多有用的小工具&#xff0c;但是它需要播放离线包&#xff0c;没有办法对离线包进行实时的分析。而plotjuggler支持对离线bag包进行分析&#x…

JVM | 垃圾回收器(GC)- Java内存管理的守护者

引言 在编程世界中&#xff0c;有效的内存管理是至关重要的。这不仅确保了应用程序的稳定运行&#xff0c;还可以大大提高性能和响应速度。作为世界上最受欢迎的编程语言之一&#xff0c;通过Java虚拟机内部的垃圾回收器组件来自动管理内存&#xff0c;是成为之一的其中一项必…

数据分类分级流程

随着互联网的快速发展和大数据时代的到来&#xff0c;数据分类和分级成为了数据管理中的重要环节。数据分类分级的目的是为了让数据更加有序、易于管理和利用。本文将从数据分类分级的概念、流程和方法等方面进行介绍。 一、数据分类分级的概念 数据分类分级是指将数据按照一定…

Python+selenium自动化测试

批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、导入HTML…

CSS整理

目录 CSS中的& 弹性&#xff08;display:flex&#xff09;布局 属性 justify-content align-items 遇到的css CSS中的& CSS中的&代表的什么 如源码: ul{ margin-bottom: 20px; &>li { margin-bottom: 0;} } &表示嵌套的上一级 这是sass的…