QT_day3:2024/3/22

news2024/12/24 21:52:48

作业1:设计界面

使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数

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

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

qss代码:

QFrame#frame{
	background-color: rgba(167, 202, 207, 100);
}
QLabel#login{
	font: 20pt "等线";
	color: rgb(255, 255, 255);
}
#mainlab{
	background-color: rgb(0, 0, 0);
}
QLineEdit#userName{
	color: rgba(255, 255, 255, 100);
font: 17pt "等线";
background:transparent;/*完全透明*/
border:none;/*无边框*/
border-bottom:1px solid  rgba(255, 255, 255, 90);
}
#passwd{
	color: rgba(255, 255, 255, 100);
font: 17pt "等线";
background:transparent;/*完全透明*/
border:none;/*无边框*/
border-bottom:1px solid  rgba(255, 255, 255, 90);
}
#find{
font: 10pt "楷体";
background:transparent;/*完全透明*/
border:none;/*无边框*/
}
#edit{
	font: 11pt "楷体";
background:transparent;/*完全透明*/
border:none;/*无边框*/
}
QPushButton#Login{
border-radius:10px;
	color: rgb(0, 0, 0);
font: 14pt "等线";
	background-color: qlineargradient(spread:pad, x1:0.515833, y1:0, x2:0.505208, y2:1, stop:0 rgba(0, 170, 255, 255), stop:0.260417 rgba(72, 216, 216, 255), stop:0.98 rgba(85, 255, 255, 255), stop:1 rgba(0, 0, 0, 0));
}
QPushButton#Login:hover{    /*鼠标移动*/
border-radius:10px;
	color: rgb(0, 0, 0);
font: 14pt "等线";
	background-color: qlineargradient(spread:pad, x1:0.515833, y1:0, x2:0.505208, y2:1, stop:0 rgba(30, 170, 255, 255), stop:0.260417 rgba(72, 216, 216, 255), stop:0.98 rgba(85, 255, 255, 255), stop:1 rgba(0, 0, 0, 0));
}
QPushButton#Login:pressed{   /*鼠标按下*/
border-radius:10px;
	color: rgb(0, 0, 0);
font: 14pt "等线";
	background-color: qlineargradient(spread:pad, x1:0.515833, y1:0, x2:0.505208, y2:1, stop:0 rgba(0, 170, 255, 255), stop:0.260417 rgba(72, 216, 216, 255), stop:0.98 rgba(85, 255, 255, 255), stop:1 rgba(0, 0, 0, 0));

padding-top:5px;
padding-left:5px;
}
#quit{
	font: 28pt "等线";
background:transparent;/*完全透明*/
	color: rgb(255, 255, 255);
}
#quit:hover{
	color: rgb(255, 255, 255);
	background-color: rgb(170, 0, 0);
}
#Mini{
	font: 28pt "等线";
background:transparent;/*完全透明*/
	color: rgb(255, 255, 255);
}
#Mini:hover{
	color: rgb(255, 255, 255);
	background-color: rgb(170, 0, 0);
}
QCheckBox#checkBox{
	font: 10pt "楷体";
}
#checkBox_2{
font: 10pt "楷体";
}

源代码:

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

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

    //动图动起来
    QMovie *mv = new QMovie(":/Logo/preview.gif");
    ui->mainlab->setMovie(mv);
    mv->start();
    ui->mainlab->setScaledContents(true);

    //纯净窗口
    this->setWindowFlag(Qt::FramelessWindowHint);

    //去掉空白
    this->setAttribute(Qt::WA_TranslucentBackground);

    //手动连接自定义信号和槽函数,实现窗口关闭
    connect(ui->quit, SIGNAL(clicked()), this, SLOT(clicked_close()));

    //手动连接自定义信号和槽函数,实现窗口关闭
    connect(ui->Mini, SIGNAL(clicked()), this, SLOT(clicked_Mini()));

    //使用qt5版本,手动连接信号和自定义槽函数
    connect(ui->Login, &QPushButton::clicked, this, &Widget::clicked_Login);

}

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

//退出窗口
void Widget::clicked_close()
{
    this->close();
}
//最小化界面
void Widget::clicked_Mini()
{
    this->setWindowState(Qt::WindowMinimized);
}

void Widget::clicked_Login()
{
    if(ui->userName->text() == "admin" && ui->passwd->text() == "123456")
    {

        ui->edit->setText("登录成功");
    }
    else
    {
        ui->edit->setStyleSheet("color:red");
        ui->edit->setText("登录失败,请重新输入");
    }
}

效果图:

思维导图

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

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

相关文章

【OJ】动归练习二

个人主页 : zxctscl 如有转载请先通知 题目 1. 91.解码方法1.1 分析1.2 代码 2. 62.不同路径2.1 分析2.2 代码 3. 63.不同路径 II3.1 分析3.2 代码 1. 91.解码方法 1.1 分析 题目所述就是把一串数字反向解码为字母映射出来,有多少种方法。 题目也说&…

科学计算库numpy的使用

import numpy as np import matplotlib.pyplot as plt #加载显示图片,目录根据实际情况写。 img_arr plt.imread(‘D:\大数据分析\python\123.jpg’) plt.imshow(img_arr) #将图片进行左右翻转 plt.imshow(img_arr[:,::-1,:]) plt.imsave(‘D:\大数据分析\pyt…

Java项目:73 ssm档案管理系统

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 角色:管理员、用户 用户点击进入到系统操作界面,可以对个人中心、警察信息管理、事故信息管理、申诉信息管理等功能模…

C语言程序与设计——预处理命令

宏 在C语言中宏有三种形式: 定义符号常量定义傻瓜表达式定义代码段 在使用宏的过程中需要注意的是,宏的作用仅仅是在预处理阶段对代码进行替换,而非进行运算,所以在使用时,如果出现了我们预期之外的结果,很有可能是宏…

MySql实战--一条SQL查询语句是如何执行的?

平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时: select * from T where ID10; 我们看到的只是输入一条语句,返回一个结果…

Java学习笔记 | JavaSE基础语法 | 04 | 数组

文章目录 0.前言1.数组2.数组声明2.1 数组定义2.2 数组初始化1.静态初始化2.动态初始化3.区别4.数组的默认初始化值: 2.3 数组名 3.访问数组3.1 索引3.2 访问数组3.3 length属性 4.数组常见问题5.数组内存分析5.1 内存分配5.2 数组内存分配 6.数组的练习练习1&#…

重磅!一起做个淘宝的简易布局!(超详细)

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端程序媛。 因为之前的学习内容,今天,我们可以来综合运用一下标签和 CSS 样式,做一个简易的淘宝网页大体布局了,如图。 咱们今天要做成这样子! 里面…

19.严丝合缝的文明——模板方法模式详解

“项目评审的节点又快到了,PPT你写了没?” “Oops,忘了,有模板没?给我一份” 概述 模板,一个频繁出现在办公室各类角色口中的词,它通常意味着统一、高效、经验和优质。各项汇报因为PPT的模板变…

C语言栈和队列(个人笔记)

栈和队列 栈1.1栈的概念和结构1.2栈的实现 队列2.1队列的概念及结构2.2队列的实现2.3循环队列 栈和队列笔试题3.1[有效的括号](https://leetcode.cn/problems/valid-parentheses/submissions/516297357/)3.2[用队列实现栈](https://leetcode.cn/problems/implement-stack-using…

HCIA实验

实验目的: 1、R6为ISP,接口IP地址均为公有地址,该设备只能配置IP地址,之后不能再对其进行任何配置; 2、R1-R5为局域网,私有IP地址192.168.1.0/24,请合理分配; 3、R1、R2、R4&#x…

阿里云服务器一年多少钱?2024最新活动价格表整理分享

2024年阿里云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

C语言 青蛙跳台阶问题

1.问题描述 一只青蛙可以一次跳一级台阶,也可以一次跳两级台阶,如果青蛙要跳上n级台阶有多少种跳法? 2.问题分析 当台阶只有一级时,只能跳一级,所以只有一种跳法 当台阶有两级时,可以先跳一级&#xff…

HDFS集群环境配置

HDFS集群环境配置 环境如下三台服务器: 192.168.32.101 node1192.168.32.102 node2192.168.32.103 node3 一、Hadoop安装包下载​​​​​​​ 点此官网下载​​​​​​​ 二、Hadoop HDFS的角色包含: NameNode,主节点管理者DataNode&am…

kubernetes最小调度单元Pod概述

Pod概述 一.Pod的概念1.Pod是什么2.Pod网络共享实现方式3.Pod存储共享方式4.创建Pod的流程 二.使用YAML文件定义Pod资源1.Pod资源清单YAML文件书写技巧1.YAML语法格式:2.配置Linux tab缩进两个空格3.使用kubectl explain帮助命令 2.创建Pod及Pod常用命令1.创建Pod资…

MySQL-1.数据库的基本操作

1. 数据库的基本操作 show databases; information_schema:信息图式,存储服务器管理数据库的信息 mysql:存放系统信息,用户名密码等 performance_schema:性能图式 sys:系统文件 1.1 创建数据库-studen…

瑞吉外卖实战学习--项目搭建

瑞吉外卖实战学习 前言1、创建springBoot 项目,并引用相关依赖2、配置数据库3、通过注解检测项目是否可以启动成功4、配置前端页面的静态映射4.1 前端文件放置的位置4.2 由于存放的位置并不是默认的文件中,需要将这些文件静态映射4.3 检测静态文件是否可…

003- AutoCoder 使用Web版大模型,性感的Human As Model 模式

这是下面这篇文章的继续。 002- 用 AutoCoder 添加和修改代码 前面我们提到,如何解决你没有API版大模型,或者你的API版大模型太弱,而你只有Web版本的诸如 Kimi/GPT4 的情况下,改如何让AutoCoder帮助你完成编程? 我们有…

数据结构(五)——树与二叉树的应用

5.5 树与二叉树的应用 5.5.1 哈夫曼树 结点的权:有某种现实含义的数值。 结点的带权路径长度:从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积。 树的带权路径长度:树中所有叶结点的带权路径长度之和…

Linux——进程信号(二)

目录 1、阻塞信号 1.1、信号其他相关常见概念 1.2、在内核中的表示 1.3、sigset_t 1.4、信号集操作函数 2、捕捉信号 2.1、内核如何捕捉信号 5.2、sigaction 1、阻塞信号 1.1、信号其他相关常见概念 实际执行信号的处理动作被称为信号递达(Delivery&#x…

电脑桌面便签,怎么在电脑桌面上设置便签

在数字化时代,电脑已成为我们日常生活不可或缺的一部分。在我们使用电脑进行各种工作和学习的过程中,经常会遇到需要记录临时信息或提醒自己的情况。这时,设置便签在电脑桌面上就成为了一种非常便捷的方法。那么有一个问题,电脑桌…