1. 如何保存第一次登录数据
先来分析一下:
要保存的数据,1.头像 2.账号 3.密码 4.是否记住密码,并且第三项密码依赖于第四项用户是否勾选记住密码。
如何保存数据,给大家提供两种方法:1.使用了文本保存,2.使用ini配置文件保存。这两种方法都是可以的。为了方便,这里使用文本保存,如果想使用ini保存,可以参考这篇:QT学习笔记之读取INI文件
文件存放的位置,这里使用绝对路径是不明智的,应当使用相对地址,思路是获取可执行文件的目录,然后在其目录至上创建用户文件。
用户文件结构:创建FdogUserFile文件夹,再创建以用户账号为名的文件夹,这个文件夹包括图片文件和一个文本文件,图片文件就是头像,也是以用户账号命名,文本文件命名为data,里面存放账号和密码,这里有一个格式,第一行是账号,第二行是密码,当第二行为空时,说明用户没有选择记住密码。
应当注意的是这里不应该重复创建文件,应有一个判断,判断当前用户信息文件是否创建,若不存在则创建,若存在则更新即可。
差点忘了还有我们数据库的事,在这一切之前,应当将用户和密码和数据库数据对比,如果匹配,就从服务器下载头像和执行上面的内容。
下面来代码实现这一构想,现在假设照片已经存在服务器,例如当你输入网址:www.fdogcsdn.cn/img/10001.j…网页将显示一张图片。
至于如何让网页显示图片,会在下面写出,现在只需要考虑如何用代码实现下载图片和与数据库内容做做对比。
创建一个数据库类:usersql
然后来看下当点击登录按钮执行的代码
当登录账号后,创建效果:当然使用明文保存密码是不安全的,可以参考之前我写的一篇加密:非对称性加密算法——RSA算法原理及C++实现
然后来说如何让服务器正确显示照片,在服务器根目录创建一个fdogpoject/fdog/img的路径,在img文件夹下存放我们的照片,当然这样,我们是无法通过www.fdogcsdn.cn/img/10001.j…我是使用tomcat搭建的服务,所以在conf文件夹下修改server.xml文件,添加:
然后重启tomcat就可以访问了。
2. 如何获取已经登录过的账号信息,并完成自定义下列框
这一步相对于如何保存信息已经简单了许多, 只需要将头像和文件内容显示在下拉列表框即可。登录界面类:
自定义下拉列表框的重点是这些:
3. 从下拉列表框删除账号
为每个删除按钮绑定信号槽
4. 文本框显示正确内容
在上一篇说过,图中的账号文本框其实是由文本框加下拉列表框构成,如何在改变下列列表框的同时修改登录界面所显示的内容呢?右击combox,转到槽,添加currentIndexChanged,代码如下
领取专属 10元无门槛券
私享最新 技术干货