QT中如何实现界面之间传递数据??
登陆界面login,主界面MainWIndow,登陆成功后,如何在MainWindow的标签label中显示---在login的userlineEdit输入的用户名?具体...
登陆界面login,主界面MainWIndow,登陆成功后,如何在MainWindow的标签label中显示---在login的userlineEdit输入的用户名?具体如何实现,具体的实现代码?网上找了很久没这方面答案,整了好几天了,还是不行啦
展开
2个回答
展开全部
之所以没有答案,不是这个难,而是很简单。
直接从 小对话框里面读数据就完事了。
刚写的例子:
//////////////////////dialog.cpp
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->lineEditPassword->setEchoMode(QLineEdit::Password);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButtonLogin_clicked()
{
//获取数据
m_strUser = ui->lineEditUser->text();
m_strPassword = ui->lineEditPassword->text();
//校验数据
if(m_strUser.isEmpty() || m_strPassword.isEmpty())
{
QMessageBox::information(this, QString(tr("Tips"))
,QString(tr("User name or Password is empty!")));
//等待下次按钮
}
else
{
//正确的用户名和密码
this->accept();
}
}
void Dialog::on_pushButtonQuit_clicked()
{
this->reject();
}
////////////////////////////////mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//
ui->setupUi(this);
//
Dialog* pDlgLogin = new Dialog(NULL);
//以模式对话框显示
int nResult = pDlgLogin->exec();
if(nResult != QDialog::Accepted)
{
//登录错误,退出
exit(1);
}
//正常登录
//读取用户名和密码
m_strUser = pDlgLogin->m_strUser;
m_Password = pDlgLogin->m_strPassword;
//设置标签为用户名
ui->labelUserName->setText(m_strUser);
//绑定退出信号到关闭槽函数
connect(ui->action_Quit, SIGNAL(triggered()), this, SLOT(close()));
//将主窗口移到指定位置
this->move(QPoint(0,0));
//
}
MainWindow::~MainWindow()
{
delete ui;
}
直接从 小对话框里面读数据就完事了。
刚写的例子:
//////////////////////dialog.cpp
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->lineEditPassword->setEchoMode(QLineEdit::Password);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButtonLogin_clicked()
{
//获取数据
m_strUser = ui->lineEditUser->text();
m_strPassword = ui->lineEditPassword->text();
//校验数据
if(m_strUser.isEmpty() || m_strPassword.isEmpty())
{
QMessageBox::information(this, QString(tr("Tips"))
,QString(tr("User name or Password is empty!")));
//等待下次按钮
}
else
{
//正确的用户名和密码
this->accept();
}
}
void Dialog::on_pushButtonQuit_clicked()
{
this->reject();
}
////////////////////////////////mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//
ui->setupUi(this);
//
Dialog* pDlgLogin = new Dialog(NULL);
//以模式对话框显示
int nResult = pDlgLogin->exec();
if(nResult != QDialog::Accepted)
{
//登录错误,退出
exit(1);
}
//正常登录
//读取用户名和密码
m_strUser = pDlgLogin->m_strUser;
m_Password = pDlgLogin->m_strPassword;
//设置标签为用户名
ui->labelUserName->setText(m_strUser);
//绑定退出信号到关闭槽函数
connect(ui->action_Quit, SIGNAL(triggered()), this, SLOT(close()));
//将主窗口移到指定位置
this->move(QPoint(0,0));
//
}
MainWindow::~MainWindow()
{
delete ui;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己静下心来好好看看书,不难的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询