想c++在qt中实现一个界面登录的功能
想c++在qt中实现一个界面登录的功能想写一个学生管理系统,有登录界面,可以选择不同的登录身份。怎么实现不同的身份登录对应的界面呢?...
想c++在qt中实现一个界面登录的功能想写一个学生管理系统,有登录界面,可以选择不同的登录身份。怎么实现不同的身份登录对应的界面呢?
展开
3个回答
展开全部
供参考:
main.cpp 文件
#include <QApplication>
#include "clogindialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
CLoginDialog *loginDlg = new CLoginDialog();
loginDlg->show();
return app.exec();
}
clogindialog.h 文件
#ifndef CLOGINDIALOG_H
#define CLOGINDIALOG_H
#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QComboBox>
#include <QLayout>
class CLoginDialog : public QDialog
{
Q_OBJECT
public:
explicit CLoginDialog(QWidget *parent = nullptr);
private slots:
void showMainWindow();
private:
QComboBox *userTypeCombo;
};
#endif // CLOGINDIALOG_H
clogindialog.cpp 文件
#include "clogindialog.h"
#include "cwidgeta.h"
#include "cwidgetb.h"
CLoginDialog::CLoginDialog(QWidget *parent) : QDialog(parent)
{
QHBoxLayout *lineLayout1 = new QHBoxLayout();
lineLayout1->addWidget(new QLabel(tr("登录类型")));
userTypeCombo = new QComboBox();
userTypeCombo->addItem(tr("教师"),0);
userTypeCombo->addItem(tr("学生"),1);
lineLayout1->addWidget(userTypeCombo);
QHBoxLayout *lineLayout2 = new QHBoxLayout();
lineLayout2->addStretch();
QPushButton *loginBt = new QPushButton(tr("登录"));
connect(loginBt,&QPushButton::clicked,this,&CLoginDialog::showMainWindow);
lineLayout2->addWidget(loginBt);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addLayout(lineLayout1);
mainLayout->addLayout(lineLayout2);
setLayout(mainLayout);
}
void CLoginDialog::showMainWindow()
{
if(userTypeCombo->currentData() == 0){
CWidgetA *a = new CWidgetA();
a->show();
}else{
CWidgetB *b = new CWidgetB();
b->show();
}
close();
}
cwidgeta.h 文件
#ifndef CWIDGETA_H
#define CWIDGETA_H
#include <QMainWindow>
class CWidgetA : public QMainWindow
{
Q_OBJECT
public:
explicit CWidgetA(QWidget *parent = nullptr);
};
#endif // CWIDGETA_H
cwidgeta.cpp 文件
#include "cwidgeta.h"
#include <QLabel>
CWidgetA::CWidgetA(QWidget *parent) : QMainWindow(parent)
{
setCentralWidget(new QLabel(tr("这是窗口A")));
}
cwidgetb.h
#ifndef CWIDGETB_H
#define CWIDGETB_H
#include <QMainWindow>
class CWidgetB : public QMainWindow
{
Q_OBJECT
public:
explicit CWidgetB(QWidget *parent = nullptr);
};
#endif // CWIDGETB_H
cwidgetb.cpp
#include "cwidgetb.h"
#include <QLabel>
CWidgetB::CWidgetB(QWidget *parent) : QMainWindow(parent)
{
setCentralWidget(new QLabel(tr("这是窗口B")));
}
更多追问追答
追问
万分感谢
如果绘制绘图界面(.ui)文件,调用时是同样调用源文件就可以了吗
展开全部
1.提供登录界面(客户端)
2.服务器端用数据库来存储用户名和密码
3.注册时客户端将注册信息发送给服务器端,并进行验证,如果注册名可用,添加进数据库并返回客户端添加成功信息。
4.登录时客户端将登录信息发送给服务器端进行验证,服务端返回验证结果。
2.服务器端用数据库来存储用户名和密码
3.注册时客户端将注册信息发送给服务器端,并进行验证,如果注册名可用,添加进数据库并返回客户端添加成功信息。
4.登录时客户端将登录信息发送给服务器端进行验证,服务端返回验证结果。
追问
可以说的具体点吗? 我主要是想知道怎么用不同的登录身份调用不同的操作界面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
扩展文本编辑控件
检测输入并添加定时器
有输入时,先把输入保存起来
半秒后把新输入改为‘*’输出
原理就是这样的
检测输入并添加定时器
有输入时,先把输入保存起来
半秒后把新输入改为‘*’输出
原理就是这样的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询