实现目标

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

|