QT实现简单验证的页面跳转

原创 2016年08月28日 17:55:49

LINUX爱好者! 该文章的项目是基于LINUX下的QT。

转载请标明出处!

QT实现简单的页面跳转


以登录功能为例,本项目将默认类作为主界面(main_widgt),创建的新类(login_widget)作登录界面。


#ifndef LOGIN_WIDGET_H
#define LOGIN_WIDGET_H

#include <QObject>
#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QVBoxLayout>
#include <QMessageBox>

class login_widget : public QWidget
{
    Q_OBJECT

public:
    login_widget();

    QLabel *userLabel;
    QLabel *pswLabel;
    QLineEdit *luserEdit;
    QLineEdit *pswEdit;
    QPushButton *loginBtn;
    QVBoxLayout *layout;

    QWidget *mainwidget;

private slots:
    void on_lloginBtn_Clicked();
};

#endif // LOGIN_WIDGET_H


#include "login_widget.h"
#include "main_widget.h"

login_widget::login_widget()
{
    userLabel = new QLabel;
    userLabel->setText(tr("username"));
    luserEdit = new QLineEdit;
    pswLabel = new QLabel;
    pswLabel->setText(tr("password"));
    pswEdit = new QLineEdit;
    //pswEdit->setEchoMode(QLineEdit::Password);//输入密码时显示*
    loginBtn = new QPushButton(tr("Login"));
    connect(loginBtn,SIGNAL(clicked(bool)),this,SLOT(on_lloginBtn_Clicked()));
    ......
}

void login_widget::on_lloginBtn_Clicked()
{
    if((this->luserEdit->text().trimmed()==tr("a"))&&(this->pswEdit->text().trimmed()==tr("a")))
    {
        this->hide();//密码正确登陆成功跳到主页面
        mainwidget = new main_widget;
        mainwidget->show();
    }
    else if (this->luserEdit->text().trimmed()==NULL)
    {
        QMessageBox::warning(this,tr("ERROR"),tr("please input username!"),QMessageBox::Yes);
        this->luserEdit->setFocus();//鼠标回到用户名栏
    }
    else
    {
        QMessageBox::warning(this,tr("WARNING"),tr("username or password wrong!"),QMessageBox::Yes);
        this->pswEdit->clear();//清除密码
        this->pswEdit->setFocus();//鼠标回到密码栏
    }
}

void login_widget::on_lregisterBtn_Clicked()
{
    this->hide();
    registerwidget = new register_widget;
    registerwidget->show();
}


#ifndef MAIN_WIDGET_H
#define MAIN_WIDGET_H
#include <QWidget>

class main_widget : public QWidget
{
    Q_OBJECT

public:
    main_widget(QWidget *parent = 0);
    ~main_widget();

    QLabel *welcomeLabel;
    QVBoxLayout *layout;
};

#endif // MAIN_WIDGET_H


#include "main_widget.h"
#include "login_widget.h"

#include <QtSql>//数据库

main_widget::main_widget(QWidget *parent)
    : QWidget(parent)
{
    welcomeLabel = new QLabel;
    welcomeLabel->setText(tr("welcome to back!"));
    ......
}

main_widget::~main_widget()
{

}


#include "login_widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    login_widget w;//设置启动的默认窗口
    w.show();

    return a.exec();
}


成功!


如有疑问请提出一起探讨,谢谢!




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

简单meavn实例-页面跳转

  • 2014-08-27 13:29
  • 3.58MB
  • 下载

使用storyboard实现页面跳转,简单的数据传递(转载)

原文地址  由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没...

Intent 意图简单使用实现页面跳转

隐式意图::在开启目标activity时没有指定目标activity的名称,而是通过指定一组动作、数据、类型,让系统自动的在清单文件中匹配目标activity,然后启动它。  Intent:意图,做...

(4.4.1)使用storyboard实现页面跳转,简单的数据传递

由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,...

使用storyboard实现页面跳转,简单的数据传递

由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,...

使用storyboard实现页面跳转,简单的数据传递

由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,...

ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转

站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图。那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? ...
  • zoubf
  • zoubf
  • 2016-10-05 11:47
  • 1144

flas 简单页面跳转控制

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)