7

QT上位机开发(会员管理软件)

 4 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/135340582
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们学习了ini文件的解析办法,通过QSettings类就可以很轻松地访问ini文件里面的数据。除了ini文件之外,另外一种经常出现的文件格式其实是json格式。一般来说,如果读写的数据不是很多,那么完全可以用json文件替换成数据库,实现数据的保存和加载工作。今天,我们通过编写一个会员管理软件的办法,正好学习下qt下面如何进行json数据的处理。当然,还可以借助这个小项目,多了解一下qt下面不同控件的用法和写法。

1、设计界面

        如果界面上的控件比较少,可以直接用c++语言编写,没有问题。但是如果控件比较多的话,那么建议还是用designer来进行设计。本次编写的会员管理软件,控件的数量稍微有点多,正好可以借这个机会把designer练一练。

0d29d6b753d14d499abcd5a590042740.png

        练习的过程当中,我们也发现,部分控件存在着排列层次的关系。比如左侧的operation,如果是后面加上去的,没有把它放到单选框、标签、输入框的最下面,那么生成窗口之后,其实不管是radioButton、还是textBox,都是没有办法进行输入的。这一点可能需要稍微注意下。另外,整个界面是删除菜单栏、工具栏和状态栏的。

2、QtWidgetsApplication.h头文件

        头文件中需要注意的部分,主要就是各个控件的回调函数。这里面有radioButton的回调函数、按钮的回调函数。其中radioButton虽然是4个,但是可以看成是一组,这样可以少写3个回调函数,编写上面比较方便一点。当然,除了界面之外,关联的业务数据也要根据实际情况及时添加上。



newCodeMoreWhite.png

3、QtWidgetsApplication.cpp文件设计

        到目前为止,这个cpp文件算得上是目前qt项目代码行数最多的文件,主要也是因为功能要求比较多。首先,它包含了基本的构造函数和析构函数。构造函数里面最主要的部分,就是把控件和它的回调函数关联在一起。其次,代码中涉及到json数据的加载和保存。和c# wpf不同,qt本身有相关的类来处理这些数据。最后,就是业务逻辑。业务逻辑一般比较复杂、麻烦一点,编写之前最好想清楚,比如插入数据的时候是不是需要检查一下是不是有同名id,删除的时候是不是考虑存在找不到的情况。crud的处理方式虽然比较简单,但是涉及到业务层面,还是要想清楚、搞明白,中间出错都没有关系,但是可以通过这个crud来提高自己的业务分析能力,也是不错的一种方式。

        另外,因为测试的时候涉及到了data.json文件,这部分大家可以先参考这个模板。将来使用的话,可以在这个模板之上进一步去拓展和延申,



newCodeMoreWhite.png

        和ini文件一样,这个json文件也需要保存在h文件、cpp文件目录下面。最后,还是给出完整的cpp代码,虽然内容多了一点,但还是比较有借鉴意义的,可以耐心地去看一看、分析下。



newCodeMoreWhite.png

4、测试和验证

        相比较而言,测试和验证就容易得多。首先,加载的时候,看看json数据有没有全部加载到界界面里面。其次,看下增删改查的功能是否正常。如果一切都没有问题,那就基本ok了。有问题的话,单步去调试即可。

88af5140ad0f4d63ae18c410ff564c1d.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK