标题:Qt编写控件属性设计器1-加载插件
作者:liudianwu
日期:2019-09-09 10:34
内容:
一、前言
加载插件是整个属性设计器的第一步要打通的功能,插件中的控件都加载不了,后面就别搞别玩下去了没法玩的,要从一个动态库中加载出来控件,肯定需要用到反射机制,以前做.NET开发的时候就觉得反射这个东西相当强大,居然可以读取DLL加载出来控件,现在用Qt,发现Qt也有反射机制,也许这东东可能各大开发语言平台都具备吧,Qt反射对应的类叫QMetaObject,着实强大,其实整个Qt开发框架也是超级强大的,本人自从转为Qt开发为主后,就深深的爱上了她,在其他跨平台的GUI开发框架平台面前,都会被Qt秒成渣,Qt的跨平台性是毋庸置疑的,几十兆的内存存储空间即可运行,尤其是嵌入式linux这种资源相当紧张的情况下,Qt的性能发挥到极致。
体验地址:https://pan.baidu.com/s/1A5Gd77kExm8Co5ckT51vvQ提取码:877p文件:可执行文件.zip
二、功能特点
1. 自动加载插件文件中的所有控件生成列表,默认自带的控件超过120个。
2. 拖曳到画布自动生成对应的控件,所见即所得。
3. 右侧中文属性栏,改变对应的属性立即应用到对应选中控件,直观简洁,非常适合小白使用。
4. 独创属性栏文字翻译映射机制,效率极高,可以非常方便拓展其他语言的属性栏。
5. 所有控件的属性自动提取并显示在右侧属性栏,包括枚举值下拉框等。
6. 支持手动选择插件文件,外部导入插件文件。
7. 可以将当前画布的所有控件配置信息导出到xml文件。
8. 可以手动选择xml文件打开控件布局,自动根据xml文件加载控件。
9. 可拉动滑动条、勾选模拟数据复选框、文本框输入,三种方式来生成数据应用所有控件。
10. 控件支持八个方位拉动调整大小,自适应任意分辨率,可键盘上下左右微调位置。
11. 打通了串口采集、网络采集、数据库采集三种方式设置数据。
12. 代码极其精简,注释非常详细,可以作为组态的雏形,自行拓展更多的功能。
13. 纯Qt编写,支持任意Qt版本+任意编译器+任意系统。
三、效果图

四、核心代码
void frmMain::initPlugin()
{
//载入默认的插件
#if defined(Q_OS_WIN)
QString pluginName = QString("%1/quc.dll").arg(qApp->applicationDirPath());
#elif defined(Q_OS_UNIX)
  ..
#1 [九重水 09-09 10:58]
别折腾这些控件了,跟我干。
#2 [apud 09-09 11:00]
支持。
#3 回 九重水 的帖子 [liudianwu 09-09 13:03]
九重水:别折腾这些控件了,跟我干。 (2019-09-09 10:58)
你先说给我开多少薪水吧!
#4 [XChinux 09-09 14:25]
也可以搞些QML组件。。。。。
#5 回 liudianwu 的帖子 [九重水 09-09 14:41]
liudianwu:你先说给我开多少薪水吧! (2019-09-09 13:03)
冒险一下,共同创业。