QT DAY1作业

news2024/11/25 2:51:21

1.QQ登录界面

头文件代码

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>
#include <QIcon>
#include <QLabel>
#include <QPushButton>
#include <QMovie>
#include <QLineEdit>

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = 0);
    ~MyWidget();
};

#endif // MYWIDGET_H

main代码

#include "mywidget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MyWidget w;
    w.show();

    return a.exec();
}

源代码

#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    //=====================窗口类=======================
    //设置窗口标题
    this->setWindowTitle("QQ");
    //设置窗口图标
    this->setWindowIcon(QIcon("D:\\QT\\23101\\QT\\picture\\qq2_logo.png"));
    //设置窗口大小
    this->resize(430,330);
    //固定窗口大小
    this->setFixedSize(430,330);
    //设置颜色
    this->setStyleSheet("background-color:rgb(255,255,255)");
    //设置纯净窗口
    this->setWindowFlag(Qt::FramelessWindowHint);

    //==================标签类=========================
    //设置标签1
    QLabel *background = new QLabel(this);
    //设置标签大小
    background->resize(430,127);
    //设置动图类
    QMovie *mv = new QMovie("D:\\QT\\23101\\QT\\picture\\qq2.gif");
    //将动图插入到标签中
    background->setMovie(mv);
    //启动动图
    mv->start();
    //设置动图自动适应大小
    background->setScaledContents(Qt::FramelessWindowHint);

    //设置标签2
    QLabel *lab1 = new QLabel(this);
    //设置标签位置
    lab1->move(15,12);
    //设置大小
    lab1->resize(65,32);
    //设置透明度
    lab1->setStyleSheet("background-color:transparent");

    //插入图片
    lab1->setPixmap(QPixmap("D:\\QT\\23101\\QT\\picture\\qq_logo.png"));
    //设置图片自动适应大小
    lab1->setScaledContents(Qt::FramelessWindowHint);

    //设置标签3
    QLabel *lab2 = new QLabel(this);
    //设置标签位置
    lab2->move(99,175);
    //设置标签大小
    lab2->resize(22,26);
    //插入图片
    lab2->setPixmap(QPixmap("D:\\QT\\23101\\QT\\picture\\qq3.png"));
    //设置自动适应大小
    lab2->setScaledContents(Qt::FramelessWindowHint);

    //设置标签4
    QLabel *lab3 = new QLabel(this);
    //设置标签位置
    lab3->move(97,203);
    //设置标签大小
    lab3->resize(23,27);
    //插入图片
    lab3->setPixmap(QPixmap("D:\\QT\\23101\\QT\\picture\\passwd.png"));
    //设置自动适应大小
    lab3->setScaledContents(Qt::FramelessWindowHint);

    //=======================行编辑器类============================
    //设置行编辑器1账号
    QLineEdit *edit1 = new QLineEdit(this);
    //设置行编辑器大小
    edit1->resize(200,27);
    //设置行编辑器位置
    edit1->move(122,175);
    //设置占位
    edit1->setPlaceholderText("QQ号码/手机/邮箱");

    //设置行编辑器2密码
    QLineEdit *edit2 = new QLineEdit(this);
    //设置行编辑器大小
    edit2->resize(200,27);
    //设置行编辑器位置
    edit2->move(122,203);
    //设置占位
    edit2->setPlaceholderText("密码");
    //设置密码输入模式
    edit1->setEchoMode(QLineEdit::Password);

    //============================按钮类=============================
    //设置按钮1
    QPushButton *btn1 = new QPushButton("登录",this);
    //设置按钮背景颜色
    btn1->setStyleSheet("background-color:rgb(31,199,253);color:white;border-radius:5px");
    //设置大小
    btn1->resize(235,35);
    //移动位置
    btn1->move(97,275);

 2.思维导图

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

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

相关文章

LLM之LangChain(一)| LangChain六大核心模块简要汇总

声明&#xff1a;本文主要内容来自以下书籍《LangChain入门指南&#xff1a;构建高可复用、可扩展的LLM应用程序》和LangChain官网&#xff0c;非常感谢作者的贡献&#xff0c;由于作者有版权限制&#xff0c;因此在这里声明&#xff0c;如果涉及侵权&#xff0c;请联系我删除此…

java 创建一个可执行的jar包小程序

第1步&#xff1a;写好代码 public class Main {public static void main(String[] args) {String str "hahah";if (StringUtils.isBlank(str)) {System.out.println(str);}System.out.println("Hello world!");} }第2步&#xff1a;设置 Artifact 选择入…

HTTPS网站被攻击的原理,网站被攻击应该如何进行防护吗,新手必知

网站是通过独特的一个端口来进行加密传输&#xff0c;防止传输中的内容被窃取&#xff0c;一般用HTTPS协议做网站的&#xff0c;一般是大型网站&#xff0c;以及支付网站&#xff0c;用户数据比较重要的一些网站&#xff0c;证书要单独购买&#xff0c;HTTPS超文本传输安全协议…

无人地磅系统|内蒙古中兴首创无人地磅和远程高效管理的突破

走进标杆企业&#xff0c;感受名企力量&#xff0c;探寻学习优秀企业领先之道。 本期要跟砼行们推介的标杆企业是内蒙古赤峰市砼行业的龙头企业&#xff1a;赤峰中兴首创混凝土搅拌有限责任公司&#xff08;以下简称为中兴首创&#xff09;。 中兴首创成立于2011年初&#xff…

OpenFeign学习思维导图

参考&#xff1a; 1、OpenFeign如何为FeignClient生成动态代理类 2、Feign底层原理分析-自动装载&动态代理 3、FactoryBean和普通Bean的区别

gephi——graphviz插件设置

gephi_graphviz插件设置 以下是我总结出来的一点经验 1. 安装graphviz软件&#xff0c;请见作者其他博客 2. 安装gephi 插件&#xff0c;并激活 3. 运行graphviz布局&#xff0c;会遇到找不到dot问题 问题描述&#xff1a;Graphviz process error X There was an error launc…

Wi-Fi 6 超值畅享|乐鑫发布 ESP32-C61 SoC

乐鑫信息科技 (688018.SH) 宣布推出全新的 Wi-Fi 6 Bluetooth 5 (LE) SoC ESP32-C61。这款芯片作为 ESP32-C 系列的新成员&#xff0c;旨在满足对 Wi-Fi 6 技术不断增长的市场需求。ESP32-C61 在继承 ESP32-C2 和 ESP32-C3 成功经验的基础上&#xff0c;显著优化了外设、强化了…

使用flet创建todo应用

使用 Flet 在 Python 中创建待办事项应用 Create To-Do app in Python with Flet 翻译官网教程https://flet.dev/docs/tutorials/python-todo&#xff0c;对一些地方进行了注释和修改。 安装flet Python版本需要3.8及以上&#xff0c;使用pip安装&#xff1a; pip install…

怎么批量在文件名前面加编号?

怎么批量在文件名前面加编号&#xff1f;我们时常需要给文件的名称进行编号&#xff0c;通过给文件名进行编号&#xff0c;可以使文件按照编号的顺序进行排序&#xff0c;方便进行查找和整理。特别是在处理大量文件时&#xff0c;编号可以提供一种有序的方式来组织文件&#xf…

【redis】Redis中的字典类型:数据结构与使用方法

文章目录 Redis中的字典类型&#xff1a;数据结构与使用方法简介如何提高哈希表性能如何使用 Redis中的字典类型&#xff1a;数据结构与使用方法 简介 Redis中的字典类型的底层实现是哈希表&#xff08;Hash Table&#xff09;。 Redis的字典使用哈希表作为底层实现&#xf…

软件测试|MySQL主键约束详解:保障数据完整性与性能优化

简介 主键&#xff08;PRIMARY KEY&#xff09;的完整称呼是“主键约束”&#xff0c;是 MySQL 中使用最为频繁的约束。一般情况下&#xff0c;为了便于 DBMS 更快的查找到表中的记录&#xff0c;都会在表中设置一个主键。 MySQL是一种广泛使用的开源关系型数据库管理系统&am…

海豚²来了丨DolphinDB 集成 DolphinScheduler,任务调度更轻松

DolphinDB 是一款高性能时序数据库。DolphinDB 集成了功能强大的编程语言和高容量高速度的批流一体数据分析系统&#xff0c;为海量数据&#xff08;特别是时间序列数据&#xff09;的快速存储、检索、计算及分析提供一站式解决方案。在实际生产环境中&#xff0c;经常存在数据…

LeetCode刷题12:贪心算法解决1402.做菜顺序

一个厨师收集了他 n 道菜的满意程度 satisfaction &#xff0c;这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间&#xff08;包含之前每道菜所花费的时间&#xff09;乘以这道菜的满意程度&#xff0c;也就是 time[i]*sa…

决策树--CART回归树算法详解

1、介绍 &#xff08;1&#xff09;简介 CART&#xff08;Classification and Regression Trees&#xff09;回归树是一种基于决策树的机器学习算法&#xff0c;用于预 测连续型目标变量而不是离散型类别变量。 &#xff08;2&#xff09;生成过程 ① 选择一个特征和相应的…

安达发APS|PDM产品数据管理可以帮助企业实现的价值

在实际运用中&#xff0c;APS系统的PDM产品数据管理功能可以帮助企业实现以下价值&#xff1a; 1. 提高产品设计和制造的效率&#xff1a;通过对产品结构和文档的统一管理&#xff0c;可以实现对产品信息的快速查询和检索&#xff0c;提高产品设计和制造的效率。 2. 保证产品数…

软件测试|测试平台开发-Flask入门:Flask动态路由

前言 之前我们介绍了flask发送http请求&#xff0c;以及flaskURL的详解&#xff0c;我们使用的路由都是固定的&#xff0c;一个路径和一个视图函数绑定&#xff0c;当访问这条路径时会触发相应的处理函数。但是当我们要处理更为复杂的情况时&#xff0c;比如我们有多个用户&am…

PyTorch|保存与加载自己的模型

训练好一个模型之后&#xff0c;我们往往要对其进行保存&#xff0c;除非下次用时想再次训练一遍。 下面以一个简单的回归任务来详细讲解模型的保存和加载。 来看这样一组数据&#xff1a; xtorch.linspace(-1,1,50)xx.view(50,1)yx.pow(2)0.3*torch.rand(50).view(50,1) 画…

SpringBoot + Mybatis 实现多数据源原来如此简单

1、为什么需要整合多数据源 在开发的过程中&#xff0c;我们可能会遇到一个工程使用多个数据源的情况&#xff0c;总体而言分为以下几个原因 a、数据隔离&#xff1a;将不同的数据存储在不同的数据库中&#xff0c;如多租户场景 b、性能优化&#xff1a;将数据分散到多个数据库…

【项目实战】Cadence工具的使用2

代码覆盖率的收集 双击total&#xff0c;打开imc工具。total 下的文件是代码覆盖率文件 找到DUT模块&#xff01;从图中可以看到代码的覆盖率已经是94.43% 添加exclude文件&#xff0c;注意和Synopsys的后缀不同。 导入.vRefine文件 代码覆盖率为100%。 原因是我们添加了exclu…

大学生如何当一个程序员——第三篇:热门专业学习之路5

第三篇&#xff1a;热门专业学习之路5 1.WEB前端快速入门2.JavaScript基础与深入解析3.jQuery应用与项目开发4.PHP、数据库编程与设计5. Http服务于Ajax编程6. 做一个阶段项目7. H5新特性与移动端开发8.高级框架9.微信小程序 各位小伙伴想要博客相关资料的话关注公众号&#xf…