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()
{
}

效果:

相关推荐
D_evil__3 小时前
【Effective Modern C++】第二章 auto:6. 当auto推导的类型不符合要求时,使用显式类型初始化习惯用法
c++
钱彬 (Qian Bin)3 小时前
项目实践17—全球证件智能识别系统(开发基于LabelMe标注的可视化审核接口)
qt·fastapi·全球证件识别
哈哈不让取名字3 小时前
基于C++的爬虫框架
开发语言·c++·算法
剑锋所指,所向披靡!6 小时前
C++之类模版
java·jvm·c++
C+-C资深大佬6 小时前
C++风格的命名转换
开发语言·c++
No0d1es7 小时前
2025年粤港澳青少年信息学创新大赛 C++小学组复赛真题
开发语言·c++
点云SLAM7 小时前
C++内存泄漏检测之手动记录法(Manual Memory Tracking)
开发语言·c++·策略模式·内存泄漏检测·c++实战·new / delete
好评1247 小时前
【C++】二叉搜索树(BST):从原理到实现
数据结构·c++·二叉树·二叉搜索树
zylyehuo7 小时前
error: no matching function for call to ‘ros::NodeHandle::param(const char [11], std::string&, const char [34])’
c++·ros1
星火开发设计8 小时前
C++ 函数定义与调用:程序模块化的第一步
java·开发语言·c++·学习·函数·知识