实现目标
Qt Creater创建项目工程
设计UI界面
添加资源文件
设置前缀 添加文件 构建一下 添加完成
设计UI背景
将百度图片显示在Label上
设置整体背景为白色
头部设计
修改用户密码登录标签
修改样式表
设置单选框的样式表
设置密码框和账号框 这里为了方便观察,所以将echoMode设置为Normal 同理账号密码框
第一次编译效果
代码编写
添加数据库模块
创建数据库并打开
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("my.db");
if(!db.open()){
qDebug()<<db.lastError().text();
}
QString sql="create table if not exists user(id interger primary key autoincrement,"
"username varchar(256) unique,password varchar(256))";
QSqlQuery query;
if(!query.exec(sql)){
qDebug()<<query.lastError().text();
}
注册功能
void Login_BaiDu::on_registBt_clicked()
{
QString username=ui->username->text();
QString password=ui->password->text();
QString sql=QString("insert into user(username,password) values('%1','%2')").arg(username).arg(password);
QSqlQuery query;
if(query.exec(sql)){
qDebug()<<"注册失败";
QMessageBox::warning(this,"注册","注册失败");
qDebug()<<query.lastError().text();
return;
}
qDebug()<<"注册成功";
QMessageBox::warning(this,"注册","注册成功");
return;
}
登录功能
void Login_BaiDu::on_loginBt_clicked()
{
QString username=ui->username->text();
QString password=ui->password->text();
QString sql=QString("select * from user where username='%1' and password='%2'").arg(username).arg(password);
QSqlQuery query;
if(!query.exec(sql)){
qDebug()<<query.lastError().text();
}
if(query.next()){
QMessageBox::warning(this,"登录","登陆成功");
if(ui->checkBox->isChecked()){
QSettings setting(QSettings::IniFormat,QSettings::SystemScope,"config_BaiDu");
setting.setValue("username",username);
setting.setValue("password",password);
}
}else{
QMessageBox::warning(this,"登录","登陆失败");
}
return;
}
记住密码
效果展示
数据库创建 注册用户 再次注册就会提示错误,因为username设置为了unique 再创建一个用户
登录,选择记住用户名登录``查看配置文件
再次启动程序,自动读取配置文件
源码
Git
|