C++/Qt经验分享(二)

C++/Qt经验分享(二)

本博客是对自己在C++/Qt开发过程中总结的一些经验,8条为一篇,跟大家分享一下。

  1. 在构造函数使用列表初始化来初始化成员变量时,不要加this,否则会报错。
    我的编码习惯是把成员变量都加上this,增加代码的可读性,但是这种情况下不能加。不能加。不能加。

  2. 使用qtcreator进行开发时,如果pro文件一直报错,并且你把可能报错的地方都删掉之后,还是一直报错,请删掉构建目录,并进行重试,如果构建目录中有重要文件,请进行备份。

  3. 我碰到一个项目,是发送命令处理一个事件,然后开定时器一直获取结果,获取到结果后,就停止定时器,这是一个流程。然后后来接到需求是我要走好多这样的流程,用简单的for循环无法解决这个问题。我就用了一个队列,储存所有流程信息,处理的时候出队列。然后在定时器的槽函数中,处理新的流程。队列为空的时候停止处理。这样做的效果目前还可以。

  4. 碰到一个问题,两个自定义的动态库互相引用,然后重新编译的时候编译不通过。解决的最好方法当然是解除相互依赖。但是如果项目很复杂,不想解除依赖,编译通过,我试了这样的方法,把其中一个对其他的依赖先不写,先把自身编译通过。然后在写上,再编译。就可以了。

  5. 使用qt的数据库模块时,如果找不到任何数据库驱动,请尝试将下图所示的整个文件夹复制到可执行文件的目录中。
    C++/Qt经验分享(二)_第1张图片

  6. QDir只创建一级文件夹,接口:mkdir。创建多级文件夹,如果子目录没有,自动创建,mkPath.

  7. QScrollArea的使用方法。
    使用setWidget函数。
    setWidget的参数是需要滚动的部件。
    把需要滚动的内容布局到一个部件中,然后用setWidget设置到QScrollArea中。
    注意:QScrollArea还是一个部件,还是需要展示的。把它放到一个布局中,或者直接展示出来都可以。把它当做QWidget使用。

你可能感兴趣的:(qt,C++,qt,c++,开发语言)