day3-QT

news2024/11/17 1:45:25

1>使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函。将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空

代码:

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

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

signals:
    void jump_success_signal();
    void jump_failure_signal();
    void jump_signal();

private slots:
    void on_Login_clicked();

    void on_Cancel_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

success.h

#ifndef SUCCESS_H
#define SUCCESS_H

#include <QWidget>

namespace Ui {
class Success;
}

class Success : public QWidget
{
    Q_OBJECT

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

public slots:
    void jump_slot();

private:
    Ui::Success *ui;
};

#endif // SUCCESS_H

failure.h

#ifndef FAILURE_H
#define FAILURE_H

#include <QWidget>

namespace Ui {
class Failure;
}

class Failure : public QWidget
{
    Q_OBJECT

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

public slots:
    void jump_slot();//界面2-槽函数声明

private:
    Ui::Failure *ui;
};

#endif // FAILURE_H

main.cpp

#include "widget.h"
#include "success.h"
#include "failure.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    Success s;
    Failure f;

    QObject::connect(&w,&Widget::jump_success_signal,&s,&Success::jump_slot);
    QObject::connect(&w,&Widget::jump_failure_signal,&f,&Failure::jump_slot);
    return a.exec();
}

widget.cpp

#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->Cancel,SIGNAL(clicked()),this,SLOT(on_Cancel_clicked()));
}

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



void Widget::on_Login_clicked()
{
    QString user=ui->User->text();
    QString passwd=ui->Passwd->text();
    if(user == "admin" && passwd == "123456")
        emit jump_success_signal();
    else
    {
        ui->User->clear();
        ui->Passwd->clear();
        emit jump_failure_signal();

    }
}



void Widget::on_Cancel_clicked()
{
    this->close();
}

success.cpp

#include "success.h"
#include "ui_success.h"

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

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

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

failure.cpp

#include "failure.h"
#include "ui_failure.h"

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

Failure::~Failure()
{
    delete ui;
}
void Failure::jump_slot()
{
    this->show();
}

结果:

2>自己完成一个使用qss的登陆窗口界面。

*{

	background-color: rgb(255, 255, 255);
}

QFrame#frame{
	border-radius:30px;
	border-image: url(:/Logo/shanChuan.jpg);
}

#frame_2{
	border-radius:30px;
	background-color: rgba(112, 112, 112,120);
}

QLabel#label{
	border-radius:30px;
	background-color: rgba(130, 130, 130,120);
}

#label_2{
	background:transparent;/*完全透明*/
	font: 30pt "Hiragino Sans GB";
	
	color: rgba(255, 255, 255,120);
}

QLineEdit {
	background:transparent;
	border:none;/*无边框*/
	
	border-bottom:1px solid rgba(255, 255, 255, 110);
}

QPushButton{
	border-radius:10px;
	color: rgba(255,255,255,180);
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(40, 97, 229, 255), stop:1 rgba(255, 255, 255, 255));
}

QPushButton:hover{ 	/*鼠标移动*/
	border-radius:10px;
	color: rgba(255,255,255,180);
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(40, 97, 229, 255), stop:1 rgba(255, 255, 255, 255));
}

QPushButton:pressed{	/*鼠标点击*/
	border-radius:10px;
	color: rgba(255,255,255,180);
	background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(60, 97, 229, 255), stop:1 rgba(255, 255, 255, 255));

	padding-top:5px;
	padding-left:5px;
}

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

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

相关文章

[BT]BUUCTF刷题第6天(3.24)

第6天 Web [极客大挑战 2019]PHP Payload&#xff1a; O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";s:3:"100";}这道题考点是网站源码备份文件泄露和PHP反序列化&#xff0c;有篇介…

机器学习——AdaBoost算法

机器学习——AdaBoost算法 在机器学习领域&#xff0c;AdaBoost算法是一种非常流行的集成学习方法&#xff0c;旨在提高分类器的性能。本篇博客将介绍AdaBoost算法的原理、算法流程、算法参数&#xff0c;对比AdaBoost和随机森林的区别&#xff0c;并使用Python实现AdaBoost算…

不可变集合及Stream流

若希望某个数据是不可修改的&#xff0c;就可以考虑使用不可变集合&#xff0c;以提高安全性&#xff1b;&#xff08;JKD9之后才有&#xff09; List不可变集合&#xff1a; public static void main(String[] args) {/*创建不可变的List集合"张三", "李四&q…

基于SSM+Jsp+ sqlserver的学校访客登记系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;sqlserver数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 系统展示 系统…

Python 潮流周刊#43:在开源与家庭之间,他选择了家庭

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。本周刊开源&#xff0c;欢迎投稿[1]。另有电报频道[2]作为副刊&#xff0c;补充发布更加丰富的资讯&#xff0c;…

29-5 webshell 流量分析 - 菜刀

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、上传木马到靶场然后使用菜刀连接抓取流量 1)上传木马到upload-labs靶场 自己创建一个php文件作为木马 <?php eval($_POST["pass"]);2)然后开启 Wireshark …

nodejs+vue超市在线销售系统的设计与实现pythonflask-django-php

当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统超市在线销售采取了人工的管理方法&#xff0c;…

【Hive】HIVE运行卡死没反应

Hive运行卡死 再次强调 hive&#xff1a;小兄弟&#xff0c;没想到吧&#xff0c;咱可不是随便的人。&#x1f604; 那么&#xff0c;这次又遇见了hadoop问题&#xff0c;问题描述是这样的。 hive> insert into test values(1, nucty, 男); Query ID atguigu_202403241754…

Apache HTTP服务器(Linux离线编译安装)

Apache HTTP服务器&#xff08;Linux离线编译安装&#xff09; Apache是普通服务器&#xff0c;本身只支持html即普通网页。可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。 Apache和Tomcat都可以做为独立的w…

nodejs+vue电影院订票信息管理系统pythonflask-django-php

当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统电影院订票采取了人工的管理方法&#xff0c;但…

最短路-虚拟节点

思路&#xff1a;我们可以开虚拟节点来连接两个结点权值二进制1的个数相同的两个结点&#xff0c;由于1e9内1的个数不超过30&#xff0c;所以开30个虚拟节点&#xff0c;第i个结点连向二进制1的个数为i的点&#xff0c;然后跑dij即可。 代码&#xff1a; int n, m; struct d …

深入理解栈和队列(二):队列

个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《数据结构》 一、队列的概念和结构 队列是只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 FIFO(First In First Out) 入队列&#xff1a;进行插入操作的…

中间件设置静态资源目录

文章目录 为什么要设置静态资源目录设置静态资源代码示例 为什么要设置静态资源目录 服务器中的代码&#xff0c;对于外部来说都是不可见的&#xff0c; 所以我们写的html页面&#xff0c;浏览器无法直接访问 如果希望浏览器可以访问&#xff0c;则需要将页面所在的目录设置静…

C语言——sizeof与strlen的对比

一.sizeof 我们在学习操作符的时候&#xff0c;就了解到了sizeof操作符&#xff0c;它的作用是求参数所占内存空间的大小&#xff0c;单位是字节。如果参数是一个类型&#xff0c;那就返回参数所占的字节数。 #include <stdio.h>int main() {int a 10;size_t b sizeo…

surface go 2简单的配置

1.基本的配置信息 cpu 4425Y 感觉还是比较的弱 但是处理基本的网页浏览或收发电子邮件还是很不错的 2. C:\Users\win>systeminfo 主机名: DESKTOP-F5TT6HJ OS 名称: Microsoft Windows 10 专业版 OS 版本: 10.0.19045 暂缺 Build 19045 …

机器学习——贝叶斯分类器(基础理论+编程)

目录 一、理论 1、初步引入 2、做简化 3、拉普拉斯修正 二、实战 1、计算P(c) 2、计算P(x|c) 3、实战结果 1、数据集展示 2、相关信息打印 一、理论 1、初步引入 在所有相关概率都已知的理想情形下&#xff0c;贝叶斯决策论考虑如何基于这些概率和误判损失来选择最…

STM32通过串口发送指令控制LED灯亮灭OLED并显示命令

先来看看程序运行的结果吧&#xff1a; 接下来就不说废话了&#xff0c;自己看源代码吧&#xff01;每一行我都做了注释&#xff1a; 首先是主函数main.c文件&#xff1a; #include "stm32f10x.h" // Device header #include "OLED.h" …

学习SpringBoot笔记--知识点(1)

目录 SpringBoot介绍 创建一个最基础的springbooot项目 使用Spring Initializr创建springboot项目 Spring Boot 自动配置机制 SpringBoot常用注解 1.组件注册 2.条件注解 3.属性绑定 SpringBoot自动配置流程​编辑 学习SpringBoot的方法 ​编辑 SpringBoot日志配置…

AJAX——JSON

目录 一、JSON概述 二、JSON对象语法 三、JSON序列化方法 四、JSON与XML比较 五、Java对象与Json对象的转换 六、Js解析服务器发送过来的JSON字符串 七、$.getJSON() 一、JSON概述 JSON简介:JSON的全称为JavaScript Object Nation(JavaScript 对象表示语法)&#xff0c;…

基于nodejs+vue的BBS论坛系统python-flask-django-php

为了更好地发挥本系统的技术优势&#xff0c;根据BBS论坛系统的需求&#xff0c;本文尝试以B/S架构设计模式中的express框架&#xff0c;nodejs语言为基础&#xff0c;通过必要的编码处理、BBS论坛系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法&#xff0c;旨…