热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

GuiLite2.8发布:解释核心,简化移植,拉手Qt

友好的开源项目,不仅仅是上传代码,更是开源设计思路,开箱即用,让开发者无痛快速的获得新思路,新方法和新工具。为了让GuiLite对所有开发者都足够友善,我们又作了一些更新。解释核心:大家反应最为强烈的代

友好的开源项目,不仅仅是上传代码,更是开源设计思路,开箱即用,让开发者无痛/快速的获得新思路,新方法和新工具。为了让 GuiLite 对所有开发者都足够友善,我们又作了一些更新。

解释核心:大家反应最为强烈的代码注释问题,得到了比较大的改善,增加了如下文档更新:

  1. 完成 display.cpp 的函数注释;该文件,负责对显示设备的适配和GUI的移植;
  2. 完成 surface.cpp 的函数注释;该文件,负责底层渲染及图层管理;
  3. 完成 wnd.cpp 的函数注释;该文件,负责基本窗口的管理和基本功能的实现;

相信这3个文件的代码注释,能帮助大家快速领会 GuiLite 核心运作机制。

简化移植:为了再次提高移植效率,我们作了以下调整:

  1. 所有 HelloXXX 实例的 GuiLite 头文件由 24 个,降低到 1 个 GuiLite.h(由 1h-1cpp.sh 脚本生成)
  2. HelloParticle、HelloWidgets、HelloGuiLite 支持 GuiLite 源码级的调试(删除了 GuiLite 库,由GuiLite-xxx.cpp 源码代替 - 该文件由 1h-1cpp.sh 脚本生成)
  3. 解决了个别 Ubuntu 虚拟机环境下,UI 无法显示的问题

虽然,GuiLite 可移植性的口碑一直很好;但降低文件/代码数量的事情,我们一直乐此不疲。

牵手 Qt:即使在 GuiLite 开发群,依然有很多 Qt 的粉丝,考虑到大家对 Qt IDE 的钟爱,我们作了以下工作:

  1. 为 HelloGuiLite、HelloWidghets 增加了 Qt 工程(BuildQt),大家以后可以在 Qt creator 的开发环境中对 GuiLite 进行源码级开发和调试
  2. HelloGuiLite、HelloWidghets 可以编译为纯正的 Qt App,一些同学已经实现了 GuiLite 与 Qt 原生接口的互相调用,制作了很多惊人的效果
  3. 虽然 HelloGuiLite、HelloWidghets 是普通 Qt App,但资源占用率,以及运行效率有着很大的提高

感谢开发群中 Qt 大神的代码贡献,希望这种新方式,对大家改善现有 Qt 项目有所帮助,相信混合编程,能给大家带来更多的选择。

最后,也预告一下,GuiLite 即将带来新的实例,该实例支持:Windows,Linux,Qt 及单片机;具体效果如下。有兴趣的同学,请保持关注,谢谢

GuiLite 2.8 发布:解释核心,简化移植,拉手 Qt


以上所述就是小编给大家介绍的《GuiLite 2.8 发布:解释核心,简化移植,拉手 Qt》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!


推荐阅读
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • Java中List的forEach方法与字符串拼接的兼容性问题
    本文深入探讨了在Java中使用List的forEach方法时遇到的字符串拼接问题,提供了有效的解决方案及背后的原理分析,旨在帮助开发者更好地理解和解决此类问题。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 如何使用Maven将依赖插件一并打包进JAR文件
    本文详细介绍了在使用Maven构建项目时,如何将所需的依赖插件一同打包进最终的JAR文件中,以避免手动部署依赖库的麻烦。 ... [详细]
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • [附源码]计算机毕业设计JAVAjsp医药管理信息系统
    [附源码]计算机毕业设计JAVAjsp医药管理信息系统项目运行环境配置:Jdk1.8Tomcat7.0MysqlHBuilderX(Webstor ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
author-avatar
太空豆888_189
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有