近期在实验室跟着学长学习项目,学习到了很多东西总结一下
小类

1.数据库
在Qt里面操作数据库,要在配置文件里加上sql,然后包含头文件QSqlDatabaseQSqlQuery,用于连接和查询.数据库连接方面可以用数据库连接池,用于减少后续连接数据库需要耗费的时间。之后是sql server数据库的增删查改。

数据库增删查改
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围

2.flowLayout流式布局
在Qt自带的几种布局里面没有流式布局,所以就要自己写,自己写当然写不出(针对我),但是Qt Example里面有例子,所以可以直接拿来使用和学习。

3.线程
线程可以用于防止事件循环堵塞导致程序假死,所以会把耗费时间的一段代码单独放到另一个线程里去,以免ui界面假死影响用户体验。线程有多种实现方法,针对不同情况。

三种方法
1.继承QThread,重写run函数
2.使用moveToThread
3.QtConcurrent(貌似比较推崇这种?)

4.paintEvent
原来这些东西都是可以出来的,比如现在正在学的项目一种一个显示窗口就是学长画出来的,感觉很不可思议啊。读完代码后发现自己来画的话还是很难(空间想象力暴露)。

5.事件过滤 eventFilter
在相应的QObject上安装过滤器(installEventFilter),当有事件循环时就会经过过滤器的筛选来决定是否处理。比如上面所说,继承自QObject 自己绘制的窗口就可以加上过滤器,来处理自己想处理的事件,单击,双击,鼠标移动什么的。

6.正则表达式(QRegExp)
之前有听说但是没见过没用过,这次在项目中见到了,主要用来处理数据,把有用的数据提取出来转化成自己可用的数据。现在能看懂部分,还需要进一步学习。

7.数据加密(md5)
以前没搞懂加密,不知道数据加密了那自己怎么解开呢,原来是将当前的数据加密与已经加密的正确数据在进行比较,涨姿势了。

8.前置声明
通常在头文件中不会添加头文件,而是使用前置声明,然后在cpp文件中去添加头文件。这样可以增加编译效率。

9.网络
分为TCP和UDP,TCP需要建立连接,保证发送的数据能被准确收到,UDP则直接发送。使用相应的库前要在配置文件里面添加模块network,之后添加相应的头文件,比如QTcpSocket, QTcpServer等。还有一些相应的信号,比如readyRead(),connected()等,可以去查询相关的档案。

大总结

学习一个项目,可以学习到很多很多以前不知道的东西和以前只是知道的知识,在项目中,知识能体现的很完整,用起来目的性也更强了,你会知道你用它能干嘛,能干多好。你能学习到很多别人留下的经验,这样才能让自己更加强大把。以后要多多看看大神写的代码,多自己写。OωO

最后修改:2019 年 07 月 04 日 04 : 14 PM
如果觉得我的文章对你有用,请随意赞赏