最近在做从MFC转化成QT的,因为有信创需求,在19年当时做过一年的QT,所以还算比较熟悉,当然在几年后我又重新做了,还是有点心得的
1.首先说下cmake,这个是算是中大型项目常用的,算是比较老的东西的,但是用的确实挺多,在做跨平台方面确实比较实用,我们一般都是现在windows下进行功能实现,因为windows下有vs比较方便,所以一般现在windows下实现相关功能,最后再去做虚拟机下编译
2.在项目想用到信号槽或者QObject等,要在cmake文件里加上set(CMAKE_AUTOMOC ON)当设置CMAKE_AUTOMOC为ON时,CMake会自动为Qt的项目生成MOC文件。MOC是Qt的一个工具,用于处理C++信号和槽的元信息,这样就能使用了,有人该问直接用QTCreator为什么不加,那是因为编译器给做了,但是目前windows主流的是VS,所以想用VS调试就需要加上这个,否则会报很多的错,当然,如果你用QTCreator比较多的话,也可以用这个编译器构建项目,毕竟他是跨平台的,这个比较好。
set(CMAKE_AUTOUIC ON)这个适用于编译QT的.ui文件,这样在QTCreator里创建完.UI文件后,加上这个就可以不用复制.h文件,编译时会自动生成。
SET(CMAKE_AUTORCC)负责处理你的qrc的相关文件,这样方便使用qrc的相关文件
3.在转化时最应该注意CDialog有一些悬浮窗的窗口,在重写时一定要注意不要用QDialog,因为QDialog没有使用QDockWidget的相关接口,所以用不了,这样只能使用QMainWindow,这样在书写时就可以使用QDockWidget的悬浮窗的相关功能,但是QMainWindow不是模态的,所以需要对其继承类中有相关的修改。