嵌入式学习-qt-Day1

嵌入式学习-qt-Day1

一、思维导图

二、作业

1.自由发挥登录窗口的应用场景,实现一个登录窗口界面

cpp 复制代码
#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //字体设置
    QFont font1;//创建字体对象1
    font1.setWeight(QFont::Bold);//字体对象1设为黑体
    font1.setFamily("Arial");//字体对象1字体设置
    QFont font2;//创建字体对象2
    font2.setFamily("Arial Black");//字体对象2字体设置


    //窗口设置
    setWindowTitle("微信");//设置窗口标题
    setWindowIcon(QIcon("C:\\Users\\Li Jie\\Desktop\\pictrue\\weixin.jpg"));//设置窗口图标
    setWindowFlag(Qt::FramelessWindowHint,1);//去掉标题栏
    this->setStyleSheet("background-color:rgb(255,255,255);border-radius: 10px;");//设置样式
    this->resize(420,570);//设置窗口大小

    //添加"微信"标签
    QLabel *lab1 = new QLabel("微信", this);//创建标签对象1,设为文本
    lab1->move(12,10);//移动标签位置
    lab1->setStyleSheet("font-size: 21px;background-color:rgb(255,255,255);color:rgb(165,165,165)");//设置样式
    lab1->setFont(font1);//引用字体对象1

    //添加头像标签
    QLabel *lab2 = new QLabel(this);//创建标签对象2
    lab2->resize(120,120);//重设尺寸
    lab2->move(150,120);//设置位置
    lab2->setPixmap(QPixmap("C:\\Users\\Li Jie\\Desktop\\pictrue\\touxiang.jpg"));//选择图片作为标签
    lab2->setStyleSheet("border-radius: 15px;");//设置标签样式,倒角
    lab2->setScaledContents(true);//让图像适应于标签尺寸

    //添加"登录"按钮
    QPushButton *btn1 = new QPushButton("进入微信", this);//创建按钮1
    btn1->setStyleSheet("background-color:rgb(7,193,96);font-size: 25px;color:white;border-radius: 5px;");//设置样式
    btn1->move(75,400);//移动位置
    btn1->resize(270,50);//重设大小
    btn1->setFont(font1);//应用字体1

    //添加用户名标签
    QLabel *name = new QLabel("用户名", this);//创建标签,作为用户名
    name->setStyleSheet("background-color:rgb(255,255,255);font-size:30px;");//设置样式
    name->setFont(font1);//设置字体样式
    name->move(160,260);//移动位置
    name->resize(100,50);//重设尺寸

    //添加"切换账号"按钮
    QPushButton *btn2 = new QPushButton("切换账号", this);//创建按钮,作为切换账号
    btn2->setStyleSheet("background-color:rgb(255,255,255);font-size: 21px;color:rgb(67,104,149);");//设置样式
    btn2->move(90,490);//移动位置
    btn2->resize(80,40);//重设尺寸
    btn2->setFont(font2);//应用字体2

    //添加"仅传输文件"按钮
    QPushButton *btn3 = new QPushButton("仅传输文件", this);//创建按钮3,作为传输文件
    btn3->setStyleSheet("background-color:rgb(255,255,255);font-size: 21px;color:rgb(67,104,149);");//设置样式
    btn3->move(230,490);//移动位置
    btn3->resize(120,40);//重设尺寸
    btn3->setFont(font2);//应用字体2
    
    //setAttribute(Qt::WA_TranslucentBackground);

}

Widget::~Widget()
{
}

运行结果

相关推荐
@小码农13 小时前
202512 电子学会 Scratch图形化编程等级考试三级真题(附答案)
服务器·开发语言·数据结构·数据库·算法
坚持学习前端日记13 小时前
2025年的个人和学习年度总结以及未来期望
java·学习·程序人生·职场和发展·创业创新
Cosmoshhhyyy13 小时前
《Effective Java》解读第29条:优先考虑泛型
java·开发语言
一路往蓝-Anbo13 小时前
C语言从句柄到对象 (六) —— 继承与 HAL:父类指针访问子类数据
c语言·开发语言·stm32·嵌入式硬件·物联网
北冥有一鲲13 小时前
A2A协议与LangChain.js实战:构建微型软件工厂
开发语言·javascript·langchain
Chen不旧13 小时前
java基于reentrantlock/condition/queue实现阻塞队列
java·开发语言·signal·reentrantlock·await·condition
汉堡包00113 小时前
【面试总结】--安服实习岗(2)
学习·安全·web安全·网络安全·面试
laplace012314 小时前
Part 3:模型调用、记忆管理与工具调用流程(LangChain 1.0)笔记(Markdown)
开发语言·人工智能·笔记·python·langchain·prompt
0和1的舞者14 小时前
SpringBoot日志框架全解析
java·学习·springboot·日志·打印·lombok
好奇龙猫14 小时前
【人工智能学习-AI-MIT公开课-10. 学习介绍、最近邻】
人工智能·学习