文章目录

  • 前言
  • 一、方法:右键提升为
  • 二、方法:变为qt插件,作为ui使用
  • 总结

前言

Qt中自带的控件有时候无法满足项目需求,这就需要在原有的控件或者重新编写代码。


一、方法:右键提升为

该方法主要是公司内部使用,就是需要提供源码,很多第三方库使用方法也是这样,如QCustomplot 。方法步骤上简单:
1、需要新增一个.cpp和.h文件,可以继承已有的类或者新类;
2、在已有ui界面某个控件右键提升为上述新增的类。

注意:被提升的控件与你新写的类 基类要一致。

二、方法:变为qt插件,作为ui使用

该方法主要是将控件封装,做成qt自带的拖拽式控件,比如有付费性质的控件,不想提供源码可以使用该方法。主要步骤:
1、创建QtDesigner自定义控件工程

2、编辑工程代码
  在新建的工程中,新建的t类没有ui界面文件,我们要手动添加上去,如果没有ui界面文件,工程编译也可以通过,但该控件添加到ctreator后,一打开desinger工具的时候就会直接挂掉。所以需要手动删除,再添加一个ui。  
3、编译工程
 为了减少出错机率,此时不对界面做任何动作。
 在工程头文件”test.h“中添加 “#include <QtUiPlugin/QDesignerExportWidget>”,在类名前添加”QDESIGNER_WIDGET_EXPORT“宏。
4、部署工程
将项目编译好的文件 dll和lib放到QT的分别拷贝到QT库的designer路径下和QT的IDE工具的designer路径下
5、使用
和使用库的方法一样,使用dll和lib,然后包含头文件,拖拽控件使用即可。

总结

上述两种方法各有所长,具体的用法已经在上面说明。
引用:
1、QT插件创造方法

QT中自定义控件和插件大致方法相关推荐

  1. 如何在Qt中调用activeX插件

    如何在Qt中调用ocx插件,介绍可用的两种方法. 先说第一种方法: 使用QAxObject,设置插件的classid后就可以调用插件的方法了. QAxObject *flash = new QAxOb ...

  2. vue导入swiper_vue项目中导入swiper插件的方法

    这篇文章主要为大家详细介绍了vue项目中导入swiper插件的方法,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 版本选择 swiper是个常用 ...

  3. Qt例程-Qt中使用CAD插件

    Qt例程-Qt中使用CAD插件 1.插件下载及注册 2.使用插件 1.插件下载及注册 到梦想CAD官网下载插件,官网地址:https://www.mxdraw.com/download.html,下载 ...

  4. 在Qt中设置程序图标的方法介绍

    本文主要介绍在 Qt 中设置程序图标的方法. 说明: 本文中的应用程序是面向 Windows 操作系统的: 本文中使用的 Qt Creator 版本号为:7.0.0: 本文中使用的 Qt 版本号为:5 ...

  5. Qt中添加背景图片的方法

    Qt中添加背景图片的方法 QPalette的方法 #include #include int main(int argc, char *argv[]) { QApplication app(argc, ...

  6. Qt编写自定义控件及插件的使用

    在使用Qt Designer设计窗体界面时,我们可以使用Widget Box里的窗体控件非常方便的绘制界面,比如拖进去一个按钮,一个文本编辑器等.虽然Qt Designer里的控件可以满足我们大部分的 ...

  7. 在Qt中如何编写插件,加载插件和卸载插件

    Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库.由于在开发项目的过程中,要开发一套插件 ...

  8. QT中生成字符串md5的方法

    QT中,提供了QCryptographicHash类,很方便的实现的字符串到md5/md4/sha1的转换, 可以通过两种方法实现: [cpp] view plain copy QString pwd ...

  9. 【Y忍冬草】Qt中添加第三方插件VTK,Designer中有但Creator中没有

    版本:Qt5.8+VTK7.0 晕菜,之前在用Qt进行第三方插件VTK的时,不管是在Qt Creator中打开还是在Qt Designer中打开,都可以找到这个小东西,结果中间Qt出过一次问题,重新卸 ...

最新文章

  1. shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向
  2. Solaris Mount
  3. 大型云原生项目在数字化企业落地过程解密
  4. winform C#的委托事件在winform窗体中传值,也可用于刷新另一窗体(窗体A刷新窗体B)...
  5. 数据列表DataList模板之实例
  6. volatile和final
  7. php求平均值的函数_国二常用函数(二)
  8. 常用并发工具类(并发集合类)
  9. Linux运维 第三阶段 (一) 网络配置及openssl加密
  10. 简单易懂的排序算法演示
  11. 移远百科 | LTE-A关键技术分析
  12. 苹果自带的清理软件_苹果清理软件哪个好,哪个更适合自己 - 単子
  13. 怎么用浏览器访问计算机文件共享,如何用ES文件浏览器完全共享电脑里的文件流程...
  14. bzoj 3739 DZY loves math VIII
  15. linux利用vsftpd 搭建FTP服务器
  16. jQuery-三班倒日历
  17. 博达网站服务器地址怎么查,路由器博达路由器配置经典教程
  18. 基于机器学习的敏感信息泄露治理探索
  19. 脑电情绪识别的相关技术综述
  20. 事件委托、事件冒泡与事件捕获

热门文章

  1. Java多线程--概述-转自Kyrie lrving
  2. 共轭相似以及共轭对角化
  3. C语言递归问题【青蛙跳台阶】和【汉诺塔】
  4. Unity3D本地文件夹的创建、删除(Directory文件夹删除和单个文件删除)
  5. 没有mysql不能设置root密码怎么办_无法给MySQL root用户修改密码的解决方法
  6. 飞冰 前端开发的一些坑
  7. 打印时出现“错误!未找到引用源”“未定义书签”怎么办?
  8. k8s的service端口暴露与代理
  9. win10系统找不到telnet服务器,win10系统找不到Telnet服务的解决教程
  10. 网络钓鱼仍然是安全行业的祸害