设计对话框,实现登录过程
一、使用UI创建界面
1、 新建QT WidgetsApplication项目,命名为QQlogin,向项目中添加QT设计师界面,模板是dialog without button,类名是login_Dialog。
2、 在dialog的UI文件中添加两个button和两个lineEdit和两个lable
3、 右键点击控件,改变控件对象名称,如login按钮改名为login_button。
4、 右键back按钮,转到槽click(),在槽中关闭这个对话框
voidlogin_Dialog::on_back_button_clicked()
{
this->close();
}
5、 右键login按钮,转到槽click(),在槽中获取用户名和密码,判断用户名、密码,如果登陆成功则发射信号给widgets,如果失败则弹出警告框,并清空用户名和密码。
void login_Dialog::on_login_button_clicked()
{
QString name = ui->name_lineedit->text();
QString password = ui->password_lineedit->text();
if(name==tr("konghao")&&password==tr("123")){
emit login(name,password);//发送信号
this->close();
}
else{
QMessageBox::warning(this,tr("警告!"),
tr("用户名或密码错误"),
QMessageBox::Yes);
ui->name_lineedit->clear();
ui->password_lineedit->clear();
ui->name_lineedit->setFocus();
}
}
6、 myWidget类中接收信号
ui->setupUi(this);
login_Dialog *dialog = new login_Dialog(this);
dialog->show();
connect(dialog,&login_Dialog::login,this,&myWidget::login);//接收信号
7、 在widget中显示登录成功
void myWidget::login(QString name,QString pwd)
{
ui->label->setText("登陆成功!");
}
8、 实验效果
输入账号密码:
登录成功
登陆失败