简介
背景是曾经开发了一款软件,基类使用的是QWidget,随着软件的功能增加QWidget已经无法摆下太多的部件。因此,需要转换到QMainWindow下使用菜单和工具箱容纳更多的功能。
项目介绍:UI采用Qt设计师通过部件拖拽生成和布局。下面记录如何将这类的工程转化为QMainWindow基类。这里使用一种最简单粗暴有效的方式。
步骤
新建一个QMainWindow基类窗口
打开Qt设计师新建一个QMainWindow基类的窗口。
将默认类名MainWindow修改为自己的类名,下图右下角红框中是我工程里的QWidget基类的类名。这里保持一致会减少后续的代码修改量。改完类名后保存,文件名自己起一个合适的就行。
打开QWidget基类的UI文件,全选所有部件复制到新建的QMainWindow基类UI文件中。如下图所示,上面的UI是以QMainWindow为基类的UI文件。
将上面修改好的UI文件导入VS2013,如果是Qt Creator应该可以直接加载。导入后会自动生成相应的头文件。
修改代码
需要修改的代码,增加头文件
#include<QtWidgets/QMainWindow>//增加QMainWindow头文件#include"ui_dinirawdatasimulation_mw.h"//自己UI文件导入后新生成的头文件
将下图中的QWidget修改为QMainWindow
将下图中的QWidget修改为QMainWindow
结语
经过上面的步骤,重新编译工程就可以了。然后就可以进一步修改新的窗口并调试功能了。
版权归原作者 大作家佚名 所有, 如有侵权,请联系我们删除。