longin.h
#ifndef LOGIN_H
#define LOGIN_H
#include <QDialog>
#include "ui_login.h"
class login : public QDialog,public Ui::login
{
Q_OBJECT
public:
login(QWidget *parent = 0);
//protected:
//void changeEvent(QEvent *e);
private:
void on_loginButton_clicked();
};
#endif // LOGIN_H
login.cpp
#include <QtGui>
#include "login.h"
#include "ui_login.h"
login::login(QWidget *parent) :
QDialog(parent)
{
setupUi(this);
passwordLineEdit->setEchoMode(QLineEdit::Password);
}
/*void login::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
switch(e->type()){
case QEvent::LanguageChange:
retranslateUi(this);
break;
default:
break;
}
}
*/
void login::on_loginButton_clicked()
{
if(nameLineEdit->text().trimmed()==tr("qt")&&passwordLineEdit->text()==tr("123456"))
//判断用户名和密码是否正确,加入trimmed()这个函数的作用就是移除字符串开头和结尾的空白字符
accept();
else{
QMessageBox::warning(this,tr("Warning"),tr("user name or password error!"),QMessageBox::Yes);
//如果不正确,弹出警告对话框
nameLineEdit->clear();//清空用户名输入框
passwordLineEdit->clear();//清空密码输入框
nameLineEdit->setFocus();//将光标转到用户名输入框
}
}
main.cpp
#include <QtGui/QApplication>
#include <QDialog>
#include "login.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
login *logindialog=new login;
if(app.exec()==QDialog::Accepted)
{
logindialog->show();
return app.exec();
}
else return 0;
}