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() << "登陆失败";
    }
}
相关推荐
superman超哥5 分钟前
仓颉语言中错误恢复策略的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
rchmin9 分钟前
Java内存模型(JMM)详解
java·开发语言
studytosky9 分钟前
Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型
linux·运维·服务器·开发语言·架构·vim
陳10309 分钟前
C++:string(3)
开发语言·c++
Wpa.wk16 分钟前
Tomcat的安装与部署使用 - 说明版
java·开发语言·经验分享·笔记·tomcat
吧啦蹦吧21 分钟前
java.lang.Class#isAssignableFrom(Class<?> cls)
java·开发语言
都是蠢货29 分钟前
drop delete和truncate的区别?
java·开发语言
搬砖的kk40 分钟前
Lycium++ - OpenHarmony PC C/C++ 增强编译框架
c语言·开发语言·c++
再__努力1点1 小时前
【77】积分图像:快速计算矩形区域和核心逻辑
开发语言·图像处理·人工智能·python·算法·计算机视觉
Evand J1 小时前
【2026课题推荐】基于小波/互相关/FFT的卡尔曼滤波的轨迹估计,及MATLAB例程的运行结果
开发语言·matlab·目标跟踪·轨迹跟踪