【发布时间】:2015-05-02 13:25:42
【问题描述】:
我想这是一个有点初学者的QT问题,所以我希望你能给我一个简单的例子来解决我的问题。
我有我的登录窗口:
#include "logint.h"
#include "ui_logint.h"
LoginT::LoginT(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::LoginT)
{
ui->setupUi(this);
QPixmap pix("C:/Users/Boushar/Desktop/Bachelor_Fred/Coden/UbbenLogoKlein.jpg");
ui->label_pic->setPixmap(pix);
if(!connOpen())
ui->label->setText("Failed to open Database");
else
ui->label->setText("Connected.....");
}
LoginT::~LoginT()
{
delete ui;
}
void LoginT::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch(e->type())
{
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void LoginT::on_pushButton_clicked()
{
QString username, password;
username = ui->lineEdit_username->text();
password = ui->lineEdit_password->text();
if(!connOpen())
{
qDebug() << "Failed to open the database";
return;
}
connOpen();
QSqlQuery qry;
qry.prepare("select * from Worker where wo_login_name='" + username + "' and wo_password='" + password + "'");
if(qry.exec())
{
int count = 0;
while(qry.next())
count++;
if(count == 1)
{
ui->label->setText("username and password is correct");
connClose();
this->hide();
WorkerT workert;
workert.setModal(true);
workert.exec();
}
if(count > 1)
ui->label->setText("Duplicate username and password");
if(count < 1)
ui->label->setText("username and password is not correct");
}
}
在我的登录窗口中,我必须输入我的用户数据(用户名和密码),然后我将它与我的数据库进行比较并取回用户特定的数据。所以现在我的第二个窗口打开了。
如何管理我的第二个窗口从第一个窗口获取用户信息?我想这是一个非常简单的解决方案,但我来自 c++ 编程,我只会将它提交给我的主程序。
我忘了提到我有一个给我的用户的课程。
【问题讨论】:
-
去掉了会打断流程的“test-speak”拼写;-)