wordpress顶部栏插件昆明seo建站
登录注册窗口(二)
前言
在上一集我们就完成了整个登录注册窗口的布局,我们为了能够点击那两个特殊的按钮,我们就要去连接他们的槽函数。那么我们就开始这一集的内容吧。
需求分析
为了能够切换手机号与用户名的注册登录以及注册登录的模式,我们就需要连接我们这两个按钮的信号槽。为了能够在我们切换到注册状态之后还能切换回去,我们就要用一个成员变量来记录我们登录注册窗口当前的状态。
添加新成员变量
在两个头文件里面添加下面这一条代码即可。
bool isLoginMode = true;
这个变量就是记录我们当前的状态是否为登录的状态。
连接槽函数
LoginWidget
切换登录注册模式
我们只需要修改窗口上的文字即可,之后将我们的成员变量取反。
//切换登录注册模式connect(switchModeBtn, &QPushButton::clicked, this, [=](){if(isLoginMode){//当前为登录模式this->setWindowTitle("注册");titleLabel->setText("注册");submitBtn->setText("注册");phoneModeBtn->setText("手机号注册");switchModeBtn->setText("登录");}else{//当前为注册模式this->setWindowTitle("登录");titleLabel->setText("登录");submitBtn->setText("登录");phoneModeBtn->setText("手机号登录");switchModeBtn->setText("注册");}isLoginMode = !isLoginMode;});
切换用户名登录与手机号登录模式
这个我们要创建一个新窗口,之后关闭当前窗口即可,记得这个新对象不要用this指针!!!
//切换账号密码、手机号登录模式connect(phoneModeBtn, &QPushButton::clicked, this, [=](){PhoneLoginWidget* phoneLoginWidget = new PhoneLoginWidget(nullptr);phoneLoginWidget->show();//关闭当前窗口this->close();});
PhoneLoginWidget
切换登录注册模式
connect(switchModeBtn, &QPushButton::clicked, this, [=](){if(isLoginMode){//切换到注册模式this->setWindowTitle("注册");titleLabel->setText("注册");submitBtn->setText("注册");switchModeBtn->setText("登录");} else{//切换到登录模式this->setWindowTitle("登录");titleLabel->setText("登录");submitBtn->setText("登录");switchModeBtn->setText("注册");}isLoginMode = !isLoginMode;});
切换用户名登录与手机号登录模式
connect(userModeBtn, &QPushButton::clicked, this, [=](){LoginWidget* loginWidget = new LoginWidget(nullptr);loginWidget->show();this->close();});
那么我们的登录注册窗口就完成了,后续还会有许多细节需要完善,等接入服务器数据就会完成。