热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

王道QT,让linux的开发和在windows下一样方便

GUI是在嵌入式设备中是非常重要的一环,GUI的好坏直接影响到了用户的体验。因此一个优秀的gui是非常重要的,为此我前阶段对gui稍微做了调研。目前通用

GUI是在嵌入式设备中是非常重要的一环,GUI的好坏直接影响到了用户的体验。因此一个优秀的gui是非常重要的,为此我前阶段对gui稍微做了调研。

 

目前通用的gui有:

gtk系列:在linux下鼎鼎大名的gnome桌面就是基于gtk库设计的,当然gnomegtk+Xwindow的方式,在嵌入式设备中的选择有gtk+DirectFB

 

Qt系列:桌面应用有KDE,关于kdegnome的恩恩怨怨可以google一下,很有意思,是开源界有名的斗争之一。Qt现在被nokia收购了,财大气粗,最近又有几个大动作,很有看头。

Minigui:国人开发的开源软件,短小精悍,比较适合低端嵌入式产品。但是只有1.3.31.6的开源,高版本的均需要付版权费。用还是蛮好用的,但这种先开源后闭源的做法实在让人不爽。而且minigui即使低版本也仅仅是支持gpl,不像qt那样直接支持lgpl,这就意味着如果你真的使用它做开发的话,你的应用程序也需要遵循gpl(也就是需要无偿贡献应用程序的源码,当然前提是你遵守gpl)。

 

再系统的说一下我为什么觉得qt是王道:

1.       qt本身,绚丽的界面,支持多种平台(包括windows),大量qt软件可以很方便的移植过来,还有面向对象的结构使整个系统更加稳定;

2.       最重要的一点,传统上来说在linux开发总是让非专职linux程序员很痛苦,基本都是用命令行操作,没有人性化的界面。但是这一点在qt上彻底终结了,nokia做得最大的一件好事就是为qtlinux上的开发做了一套完整的ide,让用户从整个界面的设计,到函数的编写,程序的debug,函数的查询,到最后可执行文件的建立可以完全依靠这个集成开发环境,非常非常强大。

可以说有了这个ide(QT Creator),在linux上的开发和windows毫无差别,用户甚至连makefile都不用写,太神奇了,而且它支持交叉编译,你想把从X86架构换成arm架构,只需要在options中将库文件换成arm的库文件就可以了,再次赞一个。

内置图形设计软件,可以让你设计界面就像搭积木(甚至比MFC更方便),这点上比着其他的一些开源gui更强,用minigui只能苦苦的一个个控件自己用程序语言搭建。

3.   长远的看,背会nokia的强力支持,必将使qt得到更加长足的发展,我们现在就能感受  到变化了,从LGPL的开发,到qt Creator的发布,背会均体现了nokia的野心和对qt的期望。当然对我们开发者来说则看到了更美好的未来,有了nokia这棵大树,再也不用担心哪天qt倒了,我们将源源不断的获得最新的技术和支持(这也是胜之于minigui的很大一点)。

 

总结一下:

个人认为如果开发对界面,效果要求不高的工控设备可以采用minigui,毕竟它更加精简,对硬件的需求也更小。对于有足够的硬件支持(arm9以上的处理器,足够大的内存,64M以上)更加推荐用qt,效果会更加好,而且功能也会更加强大。


推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
  • PeopleSoft安装镜像版本及导入语言包的方法
    本文介绍了PeopleSoft安装镜像的两个版本,分别是VirtualBox虚拟机版本和NativeOS版本,并详细说明了导入语言包的方法。对于Windows版本,可以通过psdmt.exe登录进入,并使用datamover脚本导入语言包。对于Linux版本,同样可以使用命令行方式执行datamover脚本导入语言包。导入语言包后,可以实现多种语言的登录。参考文献提供了相关链接以供深入了解。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
author-avatar
p情绪控
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有