QT-day2,信号和槽

思维导图

登录界面改进,1改成相对路径,2用方法2完成信号和槽机制,3不透明度

扣扣界面yan'shi

代码

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->resize(480,672);//设置窗口大小


    //背景设置
    QLabel *lab1 =  new QLabel(this);//申请标签类对象内存空间并初始化
    lab1->resize(872,872);//设置标签大小
    lab1->move(-200,0);//移动标签
    //申请动图类内存空间,导入图片
    QMovie *mv = new QMovie(":/be4a94d6c3a36665e423478f1bf85eb8755633dd5065b-yN0Am8_fw658.webp");
    lab1->setMovie(mv);//将动图导入标签中
    mv->start();//动图
    lab1->setScaledContents(true);//自动适应
    lab1->lower();

    //扣扣头像
    QLabel *lab2 =  new QLabel(this);//申请标签类对象内存空间并初始化
    lab2->setStyleSheet("border: 3px solid white");
    lab2->resize(100,100);//设置标签大小
    lab2->move(180,50);//移动标签
    //导入图片
    lab2->setPixmap(QPixmap(":/u=723097534,1799774234&fm=253&fmt=auto&app=138&f=GIF.gif"));
    lab2->setScaledContents(true);//自动适应


    ui->label->setPixmap(QPixmap(":/21312412412416.png"));//行编辑前的图标
    ui->label->setScaledContents(true);
    ui->label_2->setPixmap(QPixmap(":/u=291348414,556609189&fm=253&fmt=auto&app=138&f=JPEG.jpeg"));
    ui->label_2->setScaledContents(true);





    //窗口设置
    this->setWindowTitle("扣扣");//窗口标题
    this->setWindowIcon(QIcon(":/58096fd5e008e_610.jpeg"));//窗口图标
    //this->setWindowFlags(Qt::FramelessWindowHint);//去掉头部


    //按钮设置
    //QPushButton *btn1 = new QPushButton("登录",this);//创建按钮并初始化
    //btn1->setStyleSheet("background-color:RGB(197, 100, 240);border-radius:10px;color:white");
    // btn1->resize(380,60);//大小
    //btn1->move(55,500);//位置


    ui->edit1->setPlaceholderText("输入扣扣账号");//设置回显
    ui->edit2->setPlaceholderText("输入扣扣密码");//设置回显
    ui->edit1->setStyleSheet("border-radius:10px;background-color:rgba(255,255,255,192);");//不透明度
    ui->edit2->setStyleSheet("border-radius:10px;background-color:rgba(255,255,255,192);");
    ui->edit2->setEchoMode(QLineEdit::Password);//占位


    /*登录
    QLineEdit *edit1 = new QLineEdit(this);//创建行并初始化
    edit1->setPlaceholderText("输入扣扣账号");//设置回显
    edit1->setStyleSheet("border-radius:10px;");//边框倒角
    edit1->resize(380,60);//大小
    edit1->move(55,190);//位置
    QLineEdit *edit2 = new QLineEdit(this);//创建密码行
    edit2->setPlaceholderText("输入扣扣密码");//设置回显
    edit2->setEchoMode(QLineEdit::Password);//占位
    edit2->setStyleSheet("border-radius:10px;");//倒角
    edit2->resize(380,60);
    edit2->move(55,300);*/


    //显示的一些文字
    QLabel *lab3 = new QLabel("找回密码 | 注册账号", this);//创建标签并初始化
    lab3->setGeometry(140, 580, 200, 30);//设置大小及位置
    lab3->setStyleSheet("color: rgba(255, 255, 255, 0.8); font-size: 14px;");//设置颜色,不透明度
    lab3->setAlignment(Qt::AlignCenter);//右对其居中
}

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


void Widget::on_btn1_clicked()
{
    if(ui->edit1->text()=="admin" && ui->edit2->text()=="123456")//成功关闭并提示成功,失败清零并提示失败
    {
        qDebug() << "登录成功";
        this->close();
    }
    else
    {
        ui->edit1->clear();
        ui->edit2->clear();
        qDebug() << "登陆失败";
    }
}
相关推荐
会开花的二叉树1 分钟前
吃透Reactor多线程:EventLoop_Channel_ThreadPool协作原理
开发语言·c++·tcp/ip·servlet
Jm_洋洋3 分钟前
【C++进阶】虚函数、虚表与虚指针:多态底层机制剖析
java·开发语言·c++
老骥伏枥~5 分钟前
C# 控制台:Console.ReadLine / WriteLine
开发语言·c#
爱装代码的小瓶子8 分钟前
【C++与Linux基础】进程如何打开磁盘文件:从open()到文件描述符的奇妙旅程(更多源码讲解)
linux·开发语言·c++
diediedei9 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
码云数智-园园12 分钟前
深入理解与正确实现 .NET 中的 BackgroundService
java·开发语言
田野追逐星光14 分钟前
STL中容器list -- 讲解超详细
开发语言·c++·list
小邓睡不饱耶17 分钟前
使用Scala实现手机号码归属地查询系统
开发语言·windows·scala
diediedei18 分钟前
高性能计算通信库
开发语言·c++·算法
雾岛听蓝19 分钟前
C++11新特性(可变参数模板、新的类功能、STL中的一些新变化)
开发语言·c++·经验分享·笔记