Qt作业合集

news2024/9/22 5:24:58

8.14作业

设置窗口,按钮,标签,行编辑器,实现快递速运登录页面

#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    //=============================窗口=======================
    //设置窗口的标题
    this->setWindowTitle("邮递系统");
    //设置窗口的图标
    this->setWindowIcon(QIcon("C:\\Users\\ASUS\\Desktop\\picture\\tubiao.png"));
    //设置窗口背景颜色
    this->setStyleSheet("background-color:white");
    //设置窗口大小
    this->resize(540,415);
    //固定窗口大小
    this->setFixedSize(540,415);
    //设置纯净窗口,去掉头部
    this->setWindowFlag(Qt::FramelessWindowHint);

    //=============================标签=======================
    //创建账号标签
    QLabel *lab1 = new QLabel(this);
    //背景颜色
    lab1->setStyleSheet("background-color:red");
    //大小
    lab1->resize(30,30);
    //移动
    lab1->move(100,200);
    //设置图片
    lab1->setPixmap(QPixmap("C:\\Users\\ASUS\\Desktop\\picture\\userName.jpg"));
    //设置图片自适应
    lab1->setScaledContents(true);

    //创建密码标签
    QLabel *lab2 = new QLabel(this);
    //背景颜色
    lab2->setStyleSheet("background-color:red");
    //大小
    lab2->resize(30,30);
    //移动
    lab2->move(100,250);
    //设置图片
    lab2->setPixmap(QPixmap("C:\\Users\\ASUS\\Desktop\\picture\\passwd.jpg"));
    //设置图片自适应
    lab2->setScaledContents(true);

    //设置头部动图
    QLabel *lab3 = new QLabel(this);
    lab3->resize(540,160);
    //实例化一个动图指针
    QMovie *mv = new QMovie("C:\\Users\\ASUS\\Desktop\\picture\\feiji.gif");
    //将动图设置到标签中
    lab3->setMovie(mv);
    //让动图动起来
    mv->start();
    lab3->setScaledContents(true);

    //=============================行编辑器=======================

    //账号行编辑器
    QLineEdit *edit1 = new QLineEdit(this);
    //大小
    edit1->resize(280,30);
    //移动
    edit1->move(150,200);
    //占位
    edit1->setPlaceholderText("账号");
    //显示模式
    edit1->setEchoMode(QLineEdit::Normal);

    //密码行编辑器
    QLineEdit *edit2 = new QLineEdit(this);
    edit2->resize(280,30);
    edit2->move(150,250);
    edit2->setPlaceholderText("密码");
    edit2->setEchoMode(QLineEdit::Normal);

    //=============================按钮======================
    //创建按钮
    QPushButton *btn1 = new QPushButton("登录",this);
    //大小
    btn1->resize(315,40);
    //移动按钮
    btn1->move(115,310);
    //设置背景颜色,字体颜色,设置圆角
    btn1->setStyleSheet("background-color:rgb(31,200,250);color:white;border-radius:5px");
}

MyWidget::~MyWidget()
{
}

8.16作业

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMovie>
#include <QString>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

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

private:
    Ui::Widget *ui;
private slots:
    void login_slot();
};
#endif // WIDGET_H

widget.cpp

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->logoLabel->setPixmap(QPixmap(":/picture/feiji.gif"));
    ui->logoLabel->setScaledContents(true);

    //实例化一个动图指针
    QMovie *mv = new QMovie(":/picture/feiji.gif");
    //将动图设置到标签中
    ui->logoLabel->setMovie(mv);
    //让动图动起来
    mv->start();

    ui->usernameLabel->setPixmap(QPixmap(":/picture/login.png"));
    ui->usernameLabel->setScaledContents(true);

    ui->passwordLabel->setPixmap(QPixmap(":/picture/passwd.jpg"));
    ui->passwordLabel->setScaledContents(true);

    ui->passwordEdit->setEchoMode(QLineEdit::Password);

    //qt4 不友好的链接
    connect(ui->cancelButton,SIGNAL(clicked()),this,SLOT(close()));
    //基于qt5的手动连接,友好的连接
    connect(ui->LoginButton,&QPushButton::clicked,this,&Widget::login_slot);

}

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

void Widget::login_slot()
{
    if(ui->usernameEdit->text()=="admin" && ui->passwordEdit->text()=="123456")
    {
        qDebug() << "登录成功";
        this->close();
    }
    else
    {
        qDebug() << "登录失败";
        ui->passwordEdit->clear();
    }
}

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

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

相关文章

Flink on yarn 开发过程中遇到的问题

1. 任务启动报错Trying to access closed classloader. Exception in thread "Thread-5" java.lang.IllegalStateException: Trying to access closed classloader. Please check if you store classloaders directly or indirectly in static fields. If the st…

Qt QLabel标签制作弹框效果,3s后缓慢自动消失

效果图 初始化说明 void InitStatusTips() {if (NULL statusTips_) {return;}statusTips_->setFixedSize(300, 80);//固定大小statusTips_->move((width() - statusTips_->width()) / 2, height() - 30 - statusTips_->height());//移动位置statusTips_->setA…

汽车IVI中控OS Linux driver开发实操(二十四):I2C设备驱动的编写

在Linux驱动中I2C系统中主要包含以下几个成员: I2C adapter(即I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最主要的工作是需要完成i2c_algorithm结构体。这个结构体包含了此I2C控制器的数据传输具体实现,以及对外上报此设备所支持的功能类型。具…

钉钉虚拟位置打卡神器2024免费试用版下载-钉钉虚拟位置打卡神器

钉钉虚拟位置打卡神器是一款能够快速帮助用户修改定位的辅助&#xff0c;钉钉虚拟位置打卡免费版能够一键切换手机上班的打开地点&#xff0c;帮助打工人更好的应对公司&#xff0c;收获奖金&#xff01;软件不需要root就可以安装使用&#xff0c;并且体积也比较小&#xff0c;…

仿RabbitMq实现简易消息队列基础篇(future操作实现异步线程池)

TOC 介绍 std::future 是C11标准库中的一个模板类&#xff0c;他表示一个异步操作的结果&#xff0c;当我们在多线程编程中使用异步任务时&#xff0c;std::future可以帮助我们在需要的时候&#xff0c;获取任务的执行结果&#xff0c;std::future 的一个重要特性是能…

【Java学习】Stream流详解

所属专栏&#xff1a;Java学习 Stream流是JDK 8引入的一个概念&#xff0c;它提供了一种高效且表达力强的方式来处理数据集合&#xff08;如List、Set等&#xff09;或数组。Stream API可以以声明性方式&#xff08;指定做什么&#xff09;来处理数据序列。流操作可以被分为两大…

GD32 ADC配置跳坑

GD32 ADC配置跳坑 &#xff1a;时钟使能配置需在ADC前面 放在后面读取ADC值失败。 DMA配置放在ADC配置后面可以正常读取ADC的值 不同的模式选择可能会导致ADC存在读取失败的问题&#xff0c;红色部分是常用的模式&#xff0c;一般可以读取到相应的ADC的值 adc_software_trigge…

优雅谈大模型:Python编程篇

Python在机器学习领域的地位十分关键&#xff0c;虽然后面有Julia&#xff0c;Mojo等其他对手的挑战&#xff0c;然而Python拥有庞大的机器学习库和框架&#xff0c;尤其是生态系统比以往任何时候又强大了不少。从另外维度它和Java&#xff0c;Scala&#xff0c;Go&#xff0c;…

游戏安全入门-扫雷分析远程线程注入

前言 无论学习什么&#xff0c;首先&#xff0c;我们应该有个目标&#xff0c;那么入门windows游戏安全&#xff0c;脑海中浮现出来的一个游戏 – 扫雷&#xff0c;一款家喻户晓的游戏&#xff0c;虽然已经被大家分析的不能再透了&#xff0c;但是我觉得自己去分析一下还是极好…

适配器模式, 修饰器模式 与 代理模式

这三种模式, 感觉非常类似, 都是把核心类包一层, 在外部做一些额外的事情, 我还没发现他们之间具体的区别, 有想法的同学, 可以评论或者私聊我 适配器模式 简介: 就是在目标类外面包一层, 用以适配其他的模块,兼容整个程序框架 举个例子: 比如运动员, 中国运动员参加法国奥运…

市域社会治理平台规划建设方案

1. 建设背景与市域治理定义 市域社会治理作为国家治理体系的重要组成部分&#xff0c;具有承上启下的枢纽作用。2019年&#xff0c;全国市域社会治理现代化工作会议提出了推进市域社会治理现代化的总体思路&#xff0c;强调以城带乡、以点带面&#xff0c;明确了市域治理的方向…

[项目]文海泛舟测试报告

目录 一、项目背景 二、项目功能 三、功能测试 1. 测试用例&#xff1a; 2. 实际测试的部分&#xff08;含截图&#xff09; 1. 正常登录 2. 文章列表页显示/登录用户信息显示 3. 文章详情页内容显示/文章作者信息显示 4. 编辑功能 1. 点击“更新博客”按钮前 2. 点击…

前端开发攻略---Vue实现图像裁剪功能,支持用户通过图形界面进行裁剪区域的调整,最终生成裁剪后的图像。

目录 1、演示 2、实现原理 3、实现功能 4、代码 1、演示 2、实现原理 这里有详细介绍&#xff1a; 前端开发攻略---图片裁剪上传的原理-CSDN博客 3、实现功能 上传图像&#xff1a; 用户选择文件后&#xff0c;changeFile 方法读取文件内容并将其转换为 Data URL&#xff0c…

Amesim中动力电池建模方法与原则简介

引言 新能源动力电池一维仿真与三维仿真的主要区别在与&#xff0c;一维仿真中无法在仿真中精准的得到各个点的温度变化&#xff0c;其仅为质量块的平均温度。而在新能源动力电池一维仿真中&#xff0c;旨在对动力电池的策略、充放电时间等进行验证。而无论是策略还是充放电时…

jmreport测试数据库出现 权限不足,此功能需要分配角色 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 关于jmreport的补充可看官网:jmreport上线安全配置 1. 问题所示 jmreport测试数据库出现,出现如下所示的问题:权限不足,此功能需要分配角色! 截图如下所示: 2. 原理分析 对于原理分析的Bug,代表当前用户没有足够的…

HDFS的编程

一、HDFS原理 HDFS(Hadoop Distributed File System)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,在整个Hadoop中的地位非同一般,是最基础的一部分,因为它涉及到数据存储,MapReduce等计算模型都要依赖于存储在HDFS中的数据。HDFS是一个分布式文件系统,…

20款必试AI工具:轻松搞定设计到协作

随着人工智能技术的发展&#xff0c;各种AI工具如雨后春笋般涌现&#xff0c;给我们的工作和生活带来了极大便利。 在AI工具的海洋中&#xff0c;哪一款才是你的真命天子&#xff1f; 众所周知&#xff0c;AI工具如雨后春笋般涌现&#xff0c;让人目不暇接。面对琳琅满目的选…

Oracle 字符串转多行(REGEXP_SUBSTR)

方案一&#xff1a; SQL 1.一个数据表(TABLE1_ZK)中存在一个字段(STRS)&#xff08;存储格式是以【,】隔开的字符串&#xff09; 2.现需要将其查分为多行数据&#xff08;每行为其中一个字符串&#xff09; 3.sql SELECT t.id,REGEXP_SUBSTR(t.STRS, [^,], 1, LEVEL) AS ma…

招聘|头部云厂商招 PG 核心骨干 DBA【上海】

我们的招聘专区又回来了&#xff01;&#x1f3c3; Bytebase 作为先进的数据库 DevOps 团队协同工具 &#x1f527;&#xff0c;用户群里汇聚了 &#x1f497; 业界优秀的 DBA&#xff0c;SRE&#xff0c;运维的同学们 &#x1f31f;。 上周用户群里有小伙伴发招聘信息 &…

【观察者模式】设计模式系列: 实现与最佳实践案例分析

文章目录 观察者模式深入解析&#xff1a;在Java中的实现与应用1. 引言1.1 观察者模式简介1.2 模式的重要性及其在现实世界的应用示例1.3 本文的目标和读者定位 2. 观察者模式的基本概念2.1 定义与原理2.2 UML类图和时序图2.3 核心原则2.4 使用场景 3. 观察者模式与其他模式的关…