折腾这个花了一天时间,记一文吧~
环境我用的 Visual Studio + Qt Designer,没有用 Qt Creator,个人习惯问题。
1、首先在 Visual Studio 里创建一个 “Qt Designer Custom Widget” 项目,没有的话先装 Qt 扩展,这里不多赘述。
由于本文是针对“在同一个项目中编写多个自定义组件”,所以后面的命名可供参考,尽量不要以其中一个自定义组件为名字命名。
这里我用的项目名称是 “QtCustomWidgets”
2、点击创建,会弹出 Qt 的向导窗口,点 Next。
我写文章的这个时间点,Qt 扩展的这个向导是有 BUG 的,比如可能会出现“未将对象引用设置到对象的示例”对话框,点击确定后,Visual Studio 就崩溃了,所以接下来的步骤最好完全按照文中的指导进行操作。
3、在向导进行配置平台界面时,将该向导窗口拉到最大(拖动窗口右下角)。
我们编写的是自定义组件插件,自然希望它更具有兼容性,比如同时兼容 x86 和 x64,所以我们按照以下图中步骤进行操作,建立好多个平台的配置,然后点击 Next。
4、命名组件,这里我推荐大家命名为 “QCTemplate”。
Q 意为 Qt,防止于变量名冲突。
C 意为 Custom,区别于官方命名。
Template 意为模板,我们需要制作多个自定义组件,所以在今后可以直接复制粘贴该名称的文件。
注意:Custom Widget Class Name,修改一个文本框,即可自动应用到其他两个文本框。但是 Plugin Class Name 三个文本框都需要手动修改,切记保留末尾的 Plugin 后缀。
点击 Finish。
5、项目创建好后,我们需要整理一下文件结构和项目结构,方便后面的操作。
刚刚的结构:
整理后的结构:
也就是创建两个文件夹:第一个命名“QCustomWidgets”,在这里面再创建一个“QCTemplate”,然后把“QCTemplate”的 5 个代码文件剪切进去。
接着整理项目结构,在 VS 中把那 5 个文件先移除,建好文件夹后再重新添加,因为我们刚刚移动了文件位置。
刚刚的结构:
整理后的结构:
具体看图就行啦,不多赘述了。
6、删除 json 文件,并在模板自定义组件代码中删除 Q_