qt 登录页面点击事件

 实现

#include "loginwidget.h"
#include "ui_loginwidget.h"
#define Account "admin"
#define Pwd "123456"
#include <QDebug>

LoginWidget::LoginWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::LoginWidget)
{
    ui->setupUi(this);
    this->setWindowTitle("有道笔记");
    this->setWindowIcon(QIcon(":/pictrue/logo_icon.png"));
    //    this->setStyleSheet("background-color:white;border-radius:10px");
    this->setStyleSheet("background-color:white;border-radius:10px");
    this->resize(788,1243);
    this->setFixedSize(788,1243);
    this->setWindowFlag(Qt::FramelessWindowHint);//隐藏表头

    QLabel * lab1 = new QLabel(this);
    lab1->resize(150,150);
    lab1->move(638,5);
    //    lab1->setStyleSheet("background-color:red");
    lab1->setPixmap(QPixmap(":pictrue\\right_top.png"));
    lab1->setScaledContents(true);//图片自适应

    topBtn = new QPushButton(this);
    topBtn->resize(lab1->width(),lab1->height());
    topBtn->move(lab1->x(),lab1->y());
    topBtn->setStyleSheet("background:transparent");
    connect(topBtn,&QPushButton::clicked,this,&LoginWidget::change);


    QLabel * lab2 = new QLabel(this);
    lab2->resize(230,230);
    lab2->move(269,85);
    //    lab2->setStyleSheet("background-color:red");
    lab2->setPixmap(QPixmap(":/pictrue/logo.png"));
    lab2->setScaledContents(true);//图片自适应

    edit1 = new QLineEdit(this);
    edit1->setPlaceholderText("  请输入邮箱账号");
    edit1->setStyleSheet("barder-radius:10px;border: 1px solid gray;");
    edit1->resize(630,70);
    edit1->move(75,365);
    edit1->setMaxLength(18);

    edit2 = new QLineEdit(this);
    edit2->setPlaceholderText("  请输入邮箱密码");
    edit2->setStyleSheet("barder-radius:10px;border: 1px solid gray;");
    edit2->resize(630,70);
    edit2->move(75,465);
    edit2->setMaxLength(18);
    edit2->setEchoMode(QLineEdit::Password);

    QPushButton * btn1 = new QPushButton(this);
    btn1->setText("登录");
    btn1->setStyleSheet("background-color:rgb(101,136,246);border-radius:10px;color:white");
    btn1->resize(630,70);
    btn1->move(75,665);
    connect(btn1,&QPushButton::clicked,this,&LoginWidget::login);


    btn2 = new QPushButton(this);
    btn2->setText("手机号登录");
    btn2->setStyleSheet("background-color:rgb(241,243,245);border-radius:10px;");
    btn2->resize(630,70);
    btn2->move(75,775);


    QLabel * lab3 = new QLabel(this);
    lab3->resize(666,294);
    lab3->move(70,926);
    //    lab2->setStyleSheet("background-color:red");
    lab3->setPixmap(QPixmap(":/pictrue/bottom.png"));
    lab3->setScaledContents(true);//图片自适应



    lab4 = new QLabel(this);
    lab4->resize(722,1125);
    lab4->move(28,105);
    //    lab1->setStyleSheet("background-color:red");
    lab4->setPixmap(QPixmap(":pictrue\\ewm.png"));
    lab4->setScaledContents(true);//图片自适应
    lab4->setHidden(true);

}

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

void LoginWidget::close_fun()
{
        this->close();

}

void LoginWidget::login()
{

    if(this->edit1->text() == Account && this->edit2->text() == Pwd  ){
        qDebug()<<"login success";
        this->close();
    }else {
        if(this->edit1->text().size()!=0){
            this->edit1->clear();
        }

        this->edit2->clear();
        qDebug()<<"login faild";
    }

}

void LoginWidget::change()
{
   static int type = 0;
   if(type == 0){
     this->lab4->setHidden(false);
     type = 1;
     return;
   }
   if(type == 1){
     this->lab4->setHidden(true);
       type = 0;
       return;
   }


}

声明

#ifndef LOGINWIDGET_H
#define LOGINWIDGET_H

#include <QWidget>
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>

namespace Ui {
class LoginWidget;
}

class LoginWidget : public QWidget
{
    Q_OBJECT

public:
    explicit LoginWidget(QWidget *parent = nullptr);
    ~LoginWidget();

    //槽函数
public slots:
    void close_fun();
    void login();
    void change();
signals:
    void my_signal();
private:
    Ui::LoginWidget *ui;
    QLabel * lab1;
    QPushButton *topBtn;
    QPushButton * btn2;
    QLineEdit * edit1 ;
    QLineEdit * edit2;
    QLabel * lab4 ;

};

#endif // LOGINWIDGET_H

 

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt的对话框是一种常见的用户界面元素,用于与用户交互。Qt提供了丰富的对话框类,例如QDialog和QMessageBox,可以根据需求选择使用。 在Qt,如果想要为对话框的按钮添加点击事件,可以通过信号和槽机制实现。首先,我们需要使用QPushButton等按钮类创建对话框的按钮,并设置按钮的文本和父对象。 接下来,在对话框的类,我们可以使用自定义的槽函数来响应按钮的点击事件。例如,我们可以创建一个槽函数来处理“确定”按钮的点击事件。在该槽函数,我们可以执行特定的操作,例如验证用户的输入或关闭对话框。 为了实现按钮点击事件的响应,我们需要将按钮的clicked信号连接到对应的槽函数。可以使用QObject类的connect()函数来完成连接。例如,可以在对话框的构造函数添加以下代码来连接“确定”按钮的clicked信号与槽函数: connect(okButton, SIGNAL(clicked()), this, SLOT(accept())); 在上述代码,okButton是我们创建的“确定”按钮的对象名,accept()是对话框类的一个内置槽函数,用于关闭对话框并返回一个特定的结果。通过连接按钮的clicked信号与accept()槽函数,当用户点击“确定”按钮时,对应的槽函数将会被调用。 除了使用自定义的槽函数处理按钮的点击事件,还可以直接重写对话框的内置槽函数来实现特定的操作。例如,重写QDialog类的accept()槽函数,可以在用户点击“确定”按钮时执行自定义的逻辑。 总结起来,Qt的对话框按钮点击事件可以通过信号和槽机制来实现。通过连接按钮的clicked信号与自定义的槽函数或重写内置槽函数,我们可以在按钮被点击时执行特定的操作,从而实现对话框按钮的响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值