先上效果图:



实现的逻辑代码也非常简单,主要就是用到了QDialog(注意在此基础上才可以使用accept()函数和Accepted配合使用)。通过全局变量传递权限的选择。enter是登录界面,Info是登录后需要跳转的界面。下面是完整代码:
enter.cpp

#include "enter.h"
#include "ui_enter.h"/** 全局变量声明 */
login Index_record;Enter::Enter(QWidget *parent) :QDialog(parent),ui(new Ui::Enter)
{ui->setupUi(this);// 设置无边框setWindowFlags(Qt::FramelessWindowHint);// 设置窗口标题this->setWindowTitle("登录界面");// 设置密文输入ui->lEdit_passward->setEchoMode(QLineEdit::Password);// 添加下拉框内容
//    QString member = "用户,管理员,维护人员";
//    QStringList str = member.split(",");
//    QStringList list;
//    list.append(str);
//    ui->comboBox->addItems(list);ui->comboBox->addItem("用户");ui->comboBox->addItem("管理员");ui->comboBox->addItem("维护人员");}Enter::~Enter()
{delete ui;
}/*** @brief Enter::on_pushButton_2_clicked 取消按键*/
void Enter::on_pushButton_2_clicked()
{this->close();
}/*** @brief Enter::on_pushButton_clicked 登录按键*/
void Enter::on_pushButton_clicked()
{// 普通会员if(Index_record.Jurisdiction == 1){if(ui->lEdit_user->text() == "123456" && ui->lEdit_passward->text() == "123456"){accept();}else{QMessageBox::warning(this,tr("提示"),tr("用户名或密码错误"),QMessageBox::Ok);ui->lEdit_user->clear();ui->lEdit_passward->clear();ui->lEdit_user->setFocus();}}// 尊贵会员if(Index_record.Jurisdiction == 2){if(ui->lEdit_user->text() == "2" && ui->lEdit_passward->text() == "2"){accept();}else{QMessageBox::warning(this,tr("提示"),tr("用户名或密码错误"),QMessageBox::Ok);ui->lEdit_user->clear();ui->lEdit_passward->clear();ui->lEdit_user->setFocus();}}// 超级会员if(Index_record.Jurisdiction == 3){if(ui->lEdit_user->text() == "3" && ui->lEdit_passward->text() == "3"){accept();}else{QMessageBox::warning(this,tr("提示"),tr("用户名或密码错误"),QMessageBox::Ok);ui->lEdit_user->clear();ui->lEdit_passward->clear();ui->lEdit_user->setFocus();}}}/*** @brief Enter::on_comboBox_currentIndexChanged 下拉框索引改变* @param index*/
void Enter::on_comboBox_currentIndexChanged(int index)
{// 如果权限下拉框改变,就清空用户名和密码,光标默认位置为用户名if(ui->comboBox->currentIndex() != 0){ui->lEdit_user->clear();ui->lEdit_passward->clear();ui->lEdit_user->setFocus();}// 记录下拉框选择的内容,存入全局变量当中if(ui->comboBox->currentIndex() == 0){Index_record.Jurisdiction = 1;qDebug()<<"当前索引"<<Index_record.Jurisdiction;}if(ui->comboBox->currentIndex() == 1){Index_record.Jurisdiction = 2;qDebug()<<"当前索引"<<Index_record.Jurisdiction;}if(ui->comboBox->currentIndex() == 2){Index_record.Jurisdiction = 3;qDebug()<<"当前索引"<<Index_record.Jurisdiction;}
}

enter.h

#ifndef ENTER_H
#define ENTER_H#include <QMainWindow>
#include <QLineEdit>
#include <QMessageBox>
#include <QDebug>namespace Ui {class Enter;
}class Enter : public QDialog
{Q_OBJECTpublic:explicit Enter(QWidget *parent = 0);~Enter();private slots:void on_pushButton_2_clicked(); // 取消按键void on_pushButton_clicked();   // 登录按键void on_comboBox_currentIndexChanged(int index);private:Ui::Enter *ui;
};class login
{public:int Jurisdiction;   // 记录选择权限
};/**  定义全局变量  */extern login Index_record;#endif // ENTER_H

Info.cpp

#include "info.h"
#include "ui_info.h"Info::Info(QWidget *parent) :QWidget(parent),ui(new Ui::Info)
{ui->setupUi(this);choose();}Info::~Info()
{delete ui;
}/*** @brief Info::choose 界面选择*/
void Info::choose()
{if(Index_record.Jurisdiction == 1){ui->stackedWidget->setCurrentIndex(0);this->setWindowTitle("用户");}if(Index_record.Jurisdiction == 2){ui->stackedWidget->setCurrentIndex(1);this->setWindowTitle("管理员");}if(Index_record.Jurisdiction == 3){ui->stackedWidget->setCurrentIndex(2);this->setWindowTitle("维护人员");}}

Info.h

#ifndef INFO_H
#define INFO_H#include <QWidget>
#include "enter.h"namespace Ui {class Info;
}class Info : public QWidget
{Q_OBJECTpublic:explicit Info(QWidget *parent = 0);~Info();private slots:void choose();private:Ui::Info *ui;
};#endif // INFO_H

mian.h

#include "enter.h"
#include "info.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Enter w;if(w.exec() == QDialog::Accepted){Info *p = new Info();p->show();}else return 0;return a.exec();
}

以上就是完整代码,如果对你有帮助,记得点个赞再走呦~

Qt登录界面实现以及跳转不同界面相关推荐

  1. Java实现微信公众号扫描二维码未关注时跳转关注界面已关注跳转业务界面

    以下只是测试代码写得不太整齐规范,但是主要思路以及要注意的都写了: 前提:需要申请认证的微信公众号:获取对应的APPID和APPSECRET:并且还需要获取到用户信息权限(点击"修改&quo ...

  2. qt登录界面简单制作,是真的保姆级别了!!!

    qt登录界面简单制作,是真的保姆级别了!!! 第二周工程创新实践:创建一个窗体,设计用户登录的界面(含有用户名.密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名.密码数据并与 ...

  3. wp-login.php 404页面,wordpress隐藏后台登陆界面,自动跳转首页或404

    原标题:wordpress隐藏后台登陆界面,自动跳转首页或404 我们用wordpress程序安装建站后发现所有人的网站后台都是自己域名/wp-admin,这样是否存在安全隐患?那么我们如何来修改或是 ...

  4. html文字跳转备注,界面跳转备注.html

     界面跳转备注 $axure.utils.getTransparentGifPath = function() { return 'resources/images/transparent.gif' ...

  5. antdesignpro 重定向到登录页面_URL重定向跳转绕过

    一位苦于信息安全的萌新小白帽本实验仅用于信息防御教学,切勿用于它用途公众号:XG小刚 URL重定向  重定向漏洞 服务端未对传入的跳转url变量进行检查和控制,可能导致可恶意构造任意 一个恶意地址,诱 ...

  6. java中登陆界面怎么连接到下一个界面啊_JavaWeb登陆成功后跳转到上一个页面

    JavaWeb登陆成功后跳转到上一个页面,这个标题注定要词不达意,你可能会遇到这样的情形,当点击页面的某个请求时,由于用户未登录,需要跳转到登录页,用户登录成功后,再跳转到上一个页面:还有一种情况,多 ...

  7. Win10开机跳过欢迎界面直接进系统桌面的设置方法

    解决方法一: 1.按下键盘[Win徽标键 + R键],在"关于"窗口中输入"control userpasswords2",回车. 2.打开"用户账户 ...

  8. 让Qt程序适配高分辨率屏幕,解决软件界面错乱异常

    让Qt程序适配高分辨率屏幕,解决软件界面错乱异常 一.问题 二.原因 三.解决方案 1.更改显示器分辨率或者不使用缩放 2.使用"高DIP缩放替代" 3.修改软件,使之自动适配 a ...

  9. 1.2 Qt Creater使用Python开发桌面软件的界面设计

    上节中介绍了项目创建流程,本节主要介绍软件界面的设计. 首先我们打开Qt Creater的设计界面,我们可以看到屏幕中间就是需要设计的软件窗体:左侧列表中为控件(软件设计所需要的各种按钮,文本,列表等 ...

  10. Django - 注册界面实现+页面跳转

    用户点击注册,返回HttpResponse("Successfully!") 用户点击注册,跳转到另一个页面 用户点击登录后弹出一个新的界面(显示Successfully!): & ...

最新文章

  1. 《JS权威指南学习总结--开始简介》
  2. 森林正版服务器,The Forest 专用服务器设置向导
  3. 代理模式及Java实现动态代理
  4. C/C++混淆点-左移右移操作符
  5. Python高能小技巧:用海象操作符减少重复代码
  6. 个人JS脚本验证大全[转]
  7. iOS:NO suitable application records were found.Verify your bundle identifier 'com***'is correct
  8. GNOME Screencaster 将支持 Miracast P2P 传输
  9. iOS 相册图片选择器
  10. linux安装离线docker包教程,Centos7离线安装Docker环境
  11. 64位 mxcomponent_三菱MX Component 4.16S下载
  12. 自媒体文章如何有效提高原创度?
  13. openwrt安装GPS设备,使用GPSD获取GPS信息
  14. AngularJs 生命周期$onChanges钩子函数总结
  15. 算法.动态规划 导航/数塔取数字问题
  16. 机器学习服务文本识别能力演进,大幅提升识别准确率
  17. Formality使用总结1
  18. httpclient的两个重要的参数maxPerRoute及MaxTotal
  19. C++编译时出现未定义的引用问题解决
  20. cron定时任务详解

热门文章

  1. 企业网站建设流程步骤,教你快速建网站
  2. win10分辨率不能调整_笔记本win10系统调整外接显示器分辨率的方法
  3. word单元格调整文字行间距
  4. 电气火灾的危害及预防
  5. 利用matlab导入数据+命令行 快速选取excel部分内容
  6. 微信的商户单号和交易单号_教你获取支付宝和微信的订单号、商户单号,涨知识了...
  7. delete 的用法(Hive)(SQL)
  8. 路由汇总与路由聚合的区别
  9. Python实现图片标记分类文件夹自动归类文件的脚本
  10. c/c++游戏编程之用Easyx绘制图片