QTday2(登录界面+跳转——小黄人篇)

这篇具有很好参考价值的文章主要介绍了QTday2(登录界面+跳转——小黄人篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.完成登录框的按钮操作,并在登录成功后进行界面跳转

form.h:

#ifndef FORM_H
#define FORM_H

#include <QWidget>
#include <QPushButton>
#include <QDebug>
#include <QLineEdit>             //行编辑器
#include <QLabel>                //标签类
#include <QMovie>

namespace Ui {
class Form;
}

class Form : public QWidget
{
    Q_OBJECT

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

public slots:
    void jump_slot();     //定义有关处理跳转信号的槽函数

//private slots:
//    void my_slot();

private:
    Ui::Form *ui;
    QLabel *lab1;
};

#endif // FORM_H

widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QDebug>
#include <QLineEdit>             //行编辑器
#include <QLabel>                //标签类

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT
signals:
    void my_signal();          //自定义信号函数
    void jump();               //自定义跳转函数

public slots:
    void my_slot();            //自定义的槽函数

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;
    QLineEdit *edit1;
    QLineEdit *edit2;
    QPushButton *btn1;
    QPushButton *btn2;
};
#endif // WIDGET_H

form.cpp:

#include "form.h"
#include "ui_form.h"

Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    
    this->setFixedSize(400,300);                 //设置固定尺寸
    this->setWindowTitle("小徐的聊天室");          //窗口标题
    this->setWindowIcon(QIcon(":/wodepeizhenshi.png"));   //设置窗口的icon
    
    lab1 = new QLabel("LOGO",this);
    lab1->resize(400,300);
//    lab1->setPixmap(QPixmap(":/1.gif"));
    QMovie *movie = new QMovie(":/1.gif");
    lab1->setMovie(movie); // 1. 设置要显示的 GIF 动画图片
    movie->start(); // 2. 启动动画
    lab1->show();
    lab1->setScaledContents(true);                 //设置内容自适应
}

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

//处理跳转信号函数对应的槽函数
void Form::jump_slot()
{
    this->show();             //将当前界面进行展示
}

main.cpp:

#include "widget.h"
#include "form.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    Form f;
    QObject::connect(&w, &Widget::jump,&f,&Form::jump_slot);

    return a.exec();
}

widget.cpp:

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>                     //输出函数对应的头文件
#include <QIcon>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //信号函数也可以连接信号函数
    //connect(ui->jumpBtn,&QPushButton::clicked,this,&Widget::jump)

    this->setFixedSize(540,410);                 //设置固定尺寸
    this->setWindowTitle("小徐的聊天室");          //窗口标题
    this->setWindowIcon(QIcon(":/wodepeizhenshi.png"));   //设置窗口的icon

    //1、实例化标签
    lab1 = new QLabel("LOGO",this);
    lab1->resize(540,220);
    lab1->setPixmap(QPixmap(":/logo.png"));
    lab1->setScaledContents(true);                 //设置内容自适应

    lab2 = new QLabel("账号",this);
    lab2->resize(35,35);
    lab2->move(115,230);
    lab2->setPixmap(QPixmap(":/userName.jpg"));
    lab2->setScaledContents(true);

    lab3 = new QLabel("密码",this);
    lab3->resize(35,35);
    lab3->move(lab2->x(),lab2->y()+65);
    lab3->setPixmap(QPixmap(":/passwd.jpg"));
    lab3->setScaledContents(true);

    //2、构造行编辑器,构造时给定父组件
    edit1 = new QLineEdit(this);
    edit1->setPlaceholderText("QQ/手机/邮箱");           //设置编辑器的占位文本
    edit1->resize(230,40);                              //设置尺寸
    edit1->move(lab2->x()+80,lab2->y());                //移动位置

    //3、构造行编辑器,构造时给定父组件以及文本内容
    edit2 = new QLineEdit(this);
    edit2->setPlaceholderText("密码");                   //设置编辑器的占位文本
    edit2->resize(230,40);                              //设置尺寸
    edit2->move(lab3->x()+80,lab2->y());                //移动位置
    edit2->resize(edit1->size());
    edit2->move(edit1->x(),edit1->y()+60);
    edit2->setEchoMode(QLineEdit::Password);             //设置回显模式

    //4、使用无参构造添加一个按钮
    btn1 = new QPushButton;   //无参构造
    btn1->setParent(this);         //给组件指定父组件,让其依附于界面而存在
    btn1->setText("登录");         //给组件设置文本内容
    btn1->resize(QSize(90,35));   //设置按钮组件的大小
    btn1->move(195,360);          //移动组件位置
    btn1->setIcon(QIcon(":/login.png"));

    //5、构造按钮时,指定父组件
    btn2 = new QPushButton(this);      //将当前界面设置成父组件
    btn2->setText("取消");
    btn2->resize(btn1->size());                     //使用其他按钮的大小设置该组件的大小
    btn2->move(btn1->x()+140,btn1->y());
    btn2->setIcon(QIcon(":/cancel.png"));    //设置图标
    connect(btn1,&QPushButton::clicked,this,&Widget::my_slot);
    connect(this,&Widget::my_signal,this,&Widget::close);
    connect(btn2,SIGNAL(clicked()),this,SLOT(close()));
}

//处理登录按钮对应槽函数的实现
void Widget::my_slot()
{
    if(edit1->text()=="admin" &&edit2->text()=="123456")
    {
        qDebug() << "登录成功";
        emit jump();
        this->close();
    }
    else
    {
        qDebug() << "登录失败";
        this->close();
    }
}

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



QTday2(登录界面+跳转——小黄人篇),命令模式,qt

QTday2(登录界面+跳转——小黄人篇),命令模式,qt文章来源地址https://www.toymoban.com/news/detail-686435.html

到了这里,关于QTday2(登录界面+跳转——小黄人篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyQt5登录界面跳转

    目录 1、设计ui界面 2、设计逻辑代码,实现登录界面跳转 3、结果 1、设计ui界面 设计后的ui界面 在这里可以设置密码不显示 这里可以设置快捷键 最后将ui界面转为py文件后获得的逻辑代码为:(文件名为 Login.py ) 2、设计逻辑代码,实现登录界面跳转 这里登录后,我们转到

    2024年02月12日
    浏览(43)
  • 使用PYQT5设计登录界面并实现界面跳转

    目录   1 UI登录界面的布局 2 UI登录界面布局对应的代码 3 登录界面和界面跳转完整代码 4 跳转界面代码函数和优化界面代码 5 最终效果        其中, 欢迎使用 XXXX 软件管理员密码 使用的是左边功能的 label 类、 登录 使用的是左边功能的 Push Button 类、 管理员和密码的输入

    2024年02月02日
    浏览(52)
  • Android学习(一)--用户登录注册界面(界面跳转+背景音乐)

    目录 1.功能要求 2.功能实现流程图 3.功能演示 4.界面与功能  4.1登录界面 4.1.1界面展示 4.1.2登录界面功能简介 4.1.3界面代码 4.1.4登录按钮点击事件 4.1.5退出按钮点击事件  4.1.6背景音乐点击事件 4.1.7记住密码 5.Java源码 (1)三个界面布局,体现文本框、编辑框、单选按钮、复

    2024年02月05日
    浏览(49)
  • springsecurity记住我登录时访问无权限接口,跳转登录界面

    贴一下springsecurity无权限时异常处理的逻辑 未登录状态:如果用户尝试访问需要认证的资源但未登录,即未经过认证,在这种情况下应该跳转到登录页面或者返回登录提示,让用户进行身份验证。通过调用 AuthenticationEntryPoint 可以统一处理未登录状态下的跳转逻辑,确保用户

    2024年02月21日
    浏览(38)
  • 用Android Studio编写一个登录界面和注册界面并可以跳转

    下面是使用 Android Studio 编写一个简单的登录界面和注册界面,并实现跳转的示例代码。 首先,在 res/layout 目录下创建一个名为 activity_login.xml 的布局文件,作为登录界面的布局: 接下来,在 res/layout 目录下创建一个名为 activity_register.xml 的布局文件,作为注册界面的布局:

    2024年04月09日
    浏览(86)
  • Android Studio 制作微信,登入界面,输入密码界面,跳转手机登录界面,以及聊天界面

    2.打开Android Studio。 3.选择 \\\"Create New Project\\\"。 4.在 \\\"Create New Project\\\" 对话框中,输入项目名称、选择存储位置等信息。 5.选择最低支持的Android版本,并选择一个适合的活动模板(例如,Empty Activity)。 6.点击 \\\"Finish\\\" 创建新的Android项目。 8.打开 \\\"activity_main.xml\\\" 文件,该文件用于定

    2024年02月07日
    浏览(44)
  • 小米手机连接校园网无法跳转到登录界面

    问题: 小米手机 MIUI12 系统,在连接校园网后显示需要登录,但是无法跳转到登录界面。连接其他wifi是没有问题的,但凡是需要登录的wifi就不行,会出现 net:ERR_CONNECTION_RESET... 试过很多方法,感觉这可能是个玄学,但是都试一试,或许哪个就可以了呢ahh 1. 一试就可以成功跳

    2024年02月10日
    浏览(40)
  • Unity3D制作注册登录界面,并实现场景跳转

    效果预览图片: 效果预览视频: 一、新建项目工程 1、打开Unity3D,新建一个项目,将其命名为“Login”。我这里用的版本是Unity2018.4.2f1,不同版本制作过程中的界面可能稍有不同,但是不影响具体功能的实现。 2、可以将样例场景SampleScene重命名为Login,最好做到见名知意。

    2024年02月03日
    浏览(83)
  • 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示R登录成功“,提供一个Ok按钮,用户点击OK后,关闭登录界面,跳转到其他界面,

    如果账号和密码不匹配,弹出错误对话框,给出信息\\\"账号和密码不匹配,是否重新登录\\\",并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面如果用户点击取消按钮,则弹出一个问题对话框,给出信息

    2024年04月10日
    浏览(61)
  • 若依框架 - 短时间内断开连接,重复跳转至登录界面问题的解决方法(docker 与 redis)、令牌超时问题

    在很短的时间内不去操作系统,就会自动提示, 登录状态已过期,您可以继续留在该页面,或者重新登录 ,所以老是要跳转到登录界面,这一点很麻烦,非常影响用户体验。 令牌设置超时时间,过于短暂; redis 服务的启动配置文件有问题,没有配置密码登录,而是默认配置

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包