-
UID:110085
-
- 注册时间2010-12-21
- 最后登录2024-03-25
- 在线时间3536小时
-
- 发帖2734
- 搜Ta的帖子
- 精华2
- 金钱32613
- 威望3359
- 贡献值586
- 好评度3377
-
访问TA的空间加好友用道具
|
一、前言用户属性是后面新增加的一个功能,自定义控件如果采用的Q_PROPERTY修饰的属性,会自动识别到属性栏中,这个一般称为控件属性,在组态设计软件中,光有控件本身的控件属性还是不够的,毕竟这些属性仅仅是以外观为主,并不能表示某个设备的属性,所以需要除了这个控件属性以外增加用户属性来存储该控件关联的设备属性,比如设备编号、设备名称、地理位置等信息,而这些信息也要和控件属性一样,都能导入导出到xml文件,同时能支持多个用户属性,用户自己填写名字和值,名字和值都支持中文描述,在xml文件中为了区分用户属性和控件属性,特意在用户属性前面加上user-前缀来表示,这样在读取xml文件加载控件的时候,识别到user-开头的都存储到该控件的用户属性列表中。自从有了用户属性的机制,大大拓展了控件的现有功能,相当于可以绑定N个自定义的数据,而这些用户属性直接采用setProperty来设置即可,然后通过property来读取就行,为了支持中文的属性名称,需要设置属性的时候转换一下:widget->setProperty(name.toStdString().c_str(), value); 体验地址:[https://gitee.com/feiyangqingyun/QUCSDK](https://gitee.com/feiyangqingyun/QUCSDK)[https://github.com/feiyangqingyun/qucsdk](https://github.com/feiyangqingyun/qucsdk) 二、实现的功能1. 自动加载插件文件中的所有控件生成列表,默认自带的控件超过120个。2. 拖曳到画布自动生成对应的控件,所见即所得。3. 右侧中文属性栏,改变对应的属性立即应用到对应选中控件,直观简洁,非常适合小白使用。4. 独创属性栏文字翻译映射机制,效率极高,可以非常方便拓展其他语言的属性栏。5. 所有控件的属性自动提取并显示在右侧属性栏,包括枚举值下拉框等。6. 支持手动选择插件文件,外部导入插件文件。7. 可以将当前画布的所有控件配置信息导出到xml文件。8. 可以手动选择xml文件打开控件布局,自动根据xml文件加载控件。9. 可拉动滑动条、勾选模拟数据复选框、文本框输入,三种方式来生成数据应用所有控件。10. 控件支持八个方位拉动调整大小,自适应任意分辨率,可键盘上下左右微调位置。11. 打通了串口采集、网络采集、数据库采集三种方式设置数据。12. 代码极其精简,注释非常详细,可以作为组态的雏形,自行拓展更多的功能。13. 纯Qt编写,支持任意Qt版本+任意编译器+任意系统。 三、效果图
|