qt day1

1.应用场景实现一个登录窗口界面。

代码实现:

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

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
//1.-----------创建一个窗口-------------//
    //设置纯净窗口
    this->setWindowFlag(Qt::FramelessWindowHint);
    //设置窗口图标
    this->setWindowIcon(QIcon("C:\\Users\\18225\\Desktop\\picture\\logo"));
    //设置窗口颜色
    this->setStyleSheet("background-color:rgb(18,18,18)");
    //设置大小
    this->resize(340,600);
    //设置窗口固定大小
    this->setFixedSize(340,600);

//2.-----------设置背景版-------------//
    //实例化一个标签类
    QLabel *lab1 = new QLabel(this);  //指向父类
    //这是标签(背景板)大小
    lab1->resize(340,240);
    //设置背景版颜色
    lab1->setStyleSheet("background-color:rgb(18,18,18)");
    //将动图加载到窗口内
    QMovie *mv = new QMovie("C:\\Users\\18225\\Desktop\\picture\\spo.gif");
    //将动图设置到标签中
    lab1->setMovie(mv);
    //启动动图
    mv->start();
    //将动图设置自适应标签大小
    lab1->setScaledContents(true);

    //为标签设置文本
    QLabel *lab2 = new QLabel(this);
    lab2->resize(35,40);
    lab2->move(160,500);
    lab2->setText("登录");
    lab2->setStyleSheet("background-color:rgb(255,255,255)");
    lab2->setStyleSheet("color:white");

    QLabel *lab3 = new QLabel(this);
    lab3->move(75,200);
    lab3->resize(200,50);
    lab3->setText("通过Spotify,免费畅听百万歌曲。");
    lab3->setStyleSheet("background-color:rgb(255,255,255)");
    lab3->setStyleSheet("color:white");


//    QLabel *lab4 = new QLabel(this);
//    lab4->move(10,355);
//    lab4->resize(35,40);
//    lab4->setPixmap(QPixmap("C:\\Users\\18225\\Desktop\\picture\\gogo"));
//    lab4->setScaledContents(true);


//3.-----------设置按钮-------------//
    QPushButton *btn1 = new QPushButton("免费注册",this);
    btn1->move(20,300);
    btn1->resize(300,50);
    btn1->setStyleSheet("background-color:rgb(30,215,96);border-radius:20px;color:black");

    QPushButton *btn2 = new QPushButton("使用 Google 账号继续",this);
    btn2->move(20,360);
    btn2->resize(300,50);
    btn2->setStyleSheet("background-color:#000000;border-radius:20px;color:white");

    QPushButton *btn3 = new QPushButton("使用 Facebook 账号继续",this);
    btn3->move(20,420);
    btn3->resize(300,50);
    btn3->setStyleSheet("background-color:#000000;border-radius:20px;color:white");

}

MyWidget::~MyWidget()
{
}

效果:

相关推荐
瓶中怪3 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
从零开始的代码生活_3 小时前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
charlie1145141913 小时前
Cinux: 加载第一个内核:从 bootloader 跳进 C++
linux·开发语言·c++·嵌入式
QiLinkOS5 小时前
第三视觉理解徐玉生与他的商业活动(28)
大数据·c++·人工智能·算法·开源协议
星夜夏空995 小时前
C++学习(2) —— 类与对象基础
开发语言·c++·学习
尘中远7 小时前
【Qwt 7.0 系列】常用图表类型实战 —— 柱状图、散点图、箱线图与直方图
qt·qwt·工业软件·科学绘图
会周易的程序员7 小时前
microLog 后端开发指南
开发语言·c++·物联网·设计模式·日志·iot·aiot
汉克老师7 小时前
GESP2026年6月认证C++二级( 第三部分编程题(2、菱形))精讲
c++·找规律·绘制图形·对角线·双重循环
尘中远7 小时前
【Qwt 7.0 系列】交互功能详解 —— 平移、缩放、坐标轴交互与数据拾取
qt·数据可视化·绘图·qcustomplot·qwt·科学绘图
sycmancia7 小时前
Qt——进程与线程的概念
qt