QT 登录界面 主界面 切换
一 环境搭建 平台是vs2012 Qt5.2.1
属于QWidget窗口
在项目里又添加了QMainwindow窗口
二 编写代码
QWidget的窗口名是loginwindow,QMainwindow的窗口名是mainwidow(发现window少打一个n 尴尬)
loginwindow.h:
#ifndef LOGINWINDOW_H
#define LOGINWINDOW_H#include "ui_loginwindow.h"
#include "mainwidow.h"class loginWindow : public QMainWindow
{Q_OBJECTpublic:loginWindow(QWidget *parent = 0);~loginWindow();private:Ui::loginWindowClass ui;public slots:void on_clicked();private:mainwidow q;
};#endif // LOGINWINDOW_H
loginwindow.cpp
#include "loginwindow.h"
#include <QWidget>
#include <QtWidgets/QApplication>loginWindow::loginWindow(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);ui.lineEdit_2->setEchoMode(QLineEdit::Password);connect(ui.pushButton,SIGNAL(clicked()),this,SLOT(on_clicked()));}loginWindow::~loginWindow()
{}void loginWindow::on_clicked()
{//this->hide();if (ui.lineEdit->text() == tr("cy") && ui.lineEdit_2->text() == tr("cy")){this->hide();q.show();}
}
mainwidow.h
#ifndef MAINWIDOW_H
#define MAINWIDOW_H#include <QMainWindow>
#include "ui_mainwidow.h"class mainwidow : public QMainWindow
{Q_OBJECTpublic:mainwidow(QWidget *parent = 0);~mainwidow();private:Ui::mainwidow ui;
};#endif // MAINWIDOW_H
mainwidow.cpp
#ifndef MAINWIDOW_H
#define MAINWIDOW_H#include <QMainWindow>
#include "ui_mainwidow.h"class mainwidow : public QMainWindow
{Q_OBJECTpublic:mainwidow(QWidget *parent = 0);~mainwidow();private:Ui::mainwidow ui;
};#endif // MAINWIDOW_H
main.cpp
#include "loginwindow.h"
#include <QtWidgets/QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);loginWindow w;w.show();return a.exec();
}
三 ui制作:
loginwindow的ui
这个是仿TIM做的 可以对比一下
mainwidow的ui
四 演示步骤
当输入完用户名、密码时 点击安全登录的 跳转到主界面
五 总结:需要了解Qt的ui设计、C++的类的继承 刚接触qt 做不到不好请见谅