上一篇设计了登录和聊天窗口,并实现了窗口切换,本章将继续实现其他模块
本章内容
- 完善登录验证
- 实现自定义窗口的拖动效果
- 完善聊天窗口部分功能按钮
完善登录验证
对登录的输入框进行输入限定,这里我限制登录id为6位纯数字组合,密码长度不超过16位
设置代码我放在了构造函数里
LoginWindow::LoginWindow(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connectSlots();
//设置输入框的限制
QRegExp rx("[1-9][0-9]{5}"); //不超过6位的纯数字id
QRegExpValidator *pReg = new QRegExpValidator(rx, this);
ui.lineEditUserID->setValidator(pReg);
ui.lineEditPassword->setMaxLength(16); //设置密码最大长度16
}
在登录按钮点击后,校验ID长度是否合法,不合法则进行提示
//登录按钮点击事件
void LoginWindow::slotLoginBtnClicked()
{
//获取用户输入
QString strID = ui.lineEditUserID->text();
if (strID.size() != 6)
{
QToolTip::showText(QCursor::pos(), QString::fromLocal8Bit("ID输入有误!"));
return;
}
//验证账户有效性
//关闭登录界面(调用关闭函数)
slotCloseBtnClicked();
//发送成功的信号
emit