接上文:
上文讲到了如何利用UI界面对自定义控件显示效果进行编辑,接下来我们继续学习。
利用QT进行工程编译
进入工程编辑界面,我们的工程树如图所示:
添加后,qip.h文件内容如下
#ifndef QIP_H
#define QIP_H
#include <QWidget>
#include <QtUiPlugin/QDesignerExportWidget>
namespace Ui {
class QIP;
}
class QDESIGNER_WIDGET_EXPORT QIP : public QWidget
{
Q_OBJECT
public:
explicit QIP(QWidget *parent = nullptr);
~QIP();
private:
Ui::QIP *ui;
};
#endif
如果有警告,根据警告处理一下。
例如:
添加完毕,先执行一下qmake。
快捷更换VS2022+QT对控件工程进行编译。
利用VS创建一个QT控件工程。
自定义一个项目名称。这个名称可以和QIP不一致,也可以一致,一致更便捷。
直接按照默认格式进行创建,直至项目创建完成。
创建完成后,移除自动生成的.h和.cpp文件。直接删除。后边重新添加
注意!在添加新文件时,文件名要和删除掉的文件名保持一致
移除后,我们重新添加带界面的文件。大致过程如。
添加完毕后,项目架构如图所示:
此时,为了方便,由于我们之前已经编辑好了界面文件,在这里,我们可以直接拿来用。
界面编辑过程参考:
利用文本查看工具,将两个ui文件打开。可以用notepad++或者sublime Text.
如果在VS中新建项目名称和之前在QT中新建的项目名称一致,可以直接拷贝复制过去即可。
若不一致,将QIP中的内容拷贝到MelyPlug中,然后将QIP字符全部替换为MelyPlug即可。
更换完成后,保存,然后再VS中对QT相关工程刷新一下
至此,整个控件在VS中的准备工作完成。
对工程进行编译
将项目配置更改为release模式(必须),否则QTCreater找不到自定义的控件。
生成项目。
生成项目后,可以在release文件夹下找到lib和dll文件。
对控件进行测试
添加自定义控件,使QT Designer识别
求助:
该方法生成的控件,在QTCreater中无法被识别,而QTCreater中编译的又是linux下用的,不知道该如果将其编译为通用的?