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_OBJECT
public:
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_OBJECT
public:
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_OBJECT
public:
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 做不到不好请见谅