首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇

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,代码如下

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230104A02J3I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券