運用qt寫一個簡單的登錄界面

1.widget登錄界面的運行文件

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>


Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(&sw,&Subwidget::ReShow,[this]()
    {
        sw.close();
        this->show();
    });
}

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

void Widget::on_pushButton_clicked()
{
    QString name   = ui->lineEdit->text();
    QString passwd = ui->lineEdit_2->text();
   if((name == "root" && passwd == "123456"))
    {
        qDebug() << "登錄成功";
        this->hide();
        sw.show();
        jp.show();

    }
    else
        qDebug() <<"賬號或者密碼錯誤";
}

void Widget::on_pushButton_2_clicked()
{
    this->close();
}

2、widget登錄界面的頭文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include "subwidget.h"

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();

private:
    Subwidget sw;
    Jump jp;
private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

3.subwidgett登錄後界面的頭文件

#ifndef SUBWIDGET_H
#define SUBWIDGET_H

#include <QWidget>

namespace Ui {
class Subwidget;
}

class Subwidget : public QWidget
{
    Q_OBJECT

public:
    explicit Subwidget(QWidget *parent = 0);
    ~Subwidget();
signals:
    void ReShow();
private slots:
    void on_pushButton_clicked();

private:
    Ui::Subwidget *ui;
};

#endif // SUBWIDGET_H

4.subwidgett登錄後界面的運行文件

#include "subwidget.h"
#include "ui_subwidget.h"

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

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

void Subwidget::on_pushButton_clicked()
{
    emit ReShow();
}

5.main函數

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

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

    return a.exec();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章