Qt中自定义控件的封装

第一:首先要看清自己QT Creator是由什么编译器编写,查看QT Creator是由什么编译器编写的方法是Qt最上的选项栏---》帮助---》About Qt Creator选项卡,此时会出现如图所示的图片

Qt中自定义控件的封装_第1张图片

由Based on Qt 5.14 .1(MSVC 2017,32 bit),可以看出我的Qt Creator 是由MSVC 2017,32 bit编译的,这个要记住,后面的一些内容要与这个保持一致。

第二步:重新建一个工程步骤如下:

1、打开QT Creator,点击"文件"->"新建文件或项目"->"其他项目"->"QT4设计师自定义控件

Qt中自定义控件的封装_第2张图片

 2、填写控件名称和项目路径,这里控件名称尽量不要全部小写

Qt中自定义控件的封装_第3张图片

 3、选择编译平台,因为从官网下载的QT Creator(Community)是使用MSVC2017编写的,为了使得编写后的自定义控件可以在QT Creator的设计器中使用,这里选择MSVC的编译平台(如果选择MinGW编译平台,自定义的控件在QT Creator的设计器中将无法显示出来,除非重新从官网下载QT Creator源码重新选择MinGW来编译。所以要搞清楚自己的QT Creator的编译平台就很重要了)

Qt中自定义控件的封装_第4张图片

 4、如下图在<新类>中填写自己的控件的类名,其中“图标文件”可以预先选用一张图片。点击下一步

Qt中自定义控件的封装_第5张图片Qt中自定义控件的封装_第6张图片

 5、点击下一步:

Qt中自定义控件的封装_第7张图片

 6、点击完成

Qt中自定义控件的封装_第8张图片

 第三步:

新建工程的框架为:

Qt中自定义控件的封装_第9张图片

 此时要注意:如果你的新控件没有用到UI设计界面里面的原有控件那就直接修改没有control.h

#include 
#include 

class QDESIGNER_WIDGET_EXPORT MyControl : public QWidget

Qt中自定义控件的封装_第10张图片

QDESIGNER_WIDGET_EXPORT 在头文件 #include 

第四步:

将工程改为编译release模式,因为只有release模式的控件才可以被creator或者designer识别,

Qt中自定义控件的封装_第11张图片

右键工程-》重新构建-》执行qmake  此时会生成dll和lib文件。

Qt中自定义控件的封装_第12张图片

第五步:去生成的Build文件中找生成的dll与lib 

Qt中自定义控件的封装_第13张图片

 第六步:将dll文件放到如下目录下,这个目录是你安装QT的目录,根据自己机器的情况设置。

 Qt中自定义控件的封装_第14张图片

 第七步:重新打开QTCreator,任意建立一个widget项目就可以在设计器中看到刚才新建的自定义控件

 Qt中自定义控件的封装_第15张图片

第八步:

把控件拖到UI去用是,.pro需要包含生成的库

我们在 项目的目录下面,新建一个include的文件夹,将刚才建立的自定义控件的.dll   .lib   .h头文件放到这里,然后再pro项目文件里面加入

INCLUDEPATH += $$PWD/include
LIBS += $$PWD/include/***.lib

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