关于Qt国产化系统开发的几点总结

关于Qt国产化系统开发的几点总结,第1张

随着国产化的兴起,各种国产系统和国产数据库等逐渐进入开发者的世界,科普几个要点。

- 中标麒麟neokylin基于fedora。

- 银河麒麟kylin早期版本比如V2基于freebsd,新版本V4、V10基于ubuntu。

- 优麒麟ubuntukylin就是ubuntu的汉化版本。

- deepin基于debian。

- uos基于deepin或者说是deepin的商业分支。

- ubuntu基于debian。

- linux界主要分两种内核系统,debian(ubuntu、deepin、uos、银河麒麟kylin等)和redhat(fedora、centos、中标麒麟neokylin、中兴新支点newstart等),分别对应apt-get和yum安装命令。绝大部分的linux系统都基于或者衍生自这两种系统。

- 理论上基于同一种系统内核的,在其上编译的程序可以换到另外的系统运行,前提是编译器版本一致,比如都是gcc49,在ubuntu1404 64位用gcc49编译的Qt程序,是能够在uos 64位上运行的。

- 高版本编译器的系统一般能够兼容低版本的,比如你用gcc49编译的程序是能够在gcc70上运行,反过来不行。

- 意味着如果你想尽可能兼容更多的系统,尽量用低版本的编译器编译你的程序,当然要你的程序代码语法支持,比如c++11就要从gcc47开始才支持,如果你的代码用了c++11则必须至少选择gcc47版本及以上。

- 用Qt编写linux程序为了发布后的可执行文件可以兼容各种linux系统,只要在这两种内核(debian、redhat)的系统上用低版本的编译器比如gcc47编译qt程序发布即可。

- 2022-1-27补充:根据Qt官方安装包,发现基于redhat的gcc49编译器发布的,通用各种linux系统(亲测ubuntu各个版本、fedora、centos、deepin、uos、银河麒麟kylin、中标麒麟neokylin、中兴新支点newstart等),自己按照这个版本也亲测打包发布了亲测可用,我擦,redhat系统的也可以在debian系统跑。

- 2022-2-10补充:debian上静态编译的程序也可以在redhat系统跑,可能静态编译去掉了很多依赖吧。

- 国产人大金仓数据库用的是postgresql数据库改的,意味着你在Qt中用postgresql数据库插件也是能够连接到人大金仓数据库的。

- 以上未必完全正确,欢迎各位指正。

需要安装VC++运行组件。VC++运行库一键安装是一款MicrosoftVisualCRedistributable的VC++运行库合集32位/64位整合版,MicrosoftVisualC++运行库,保证采用MicrosoftVisualStudio20XX、qt编写的软件能够正常运行。

我是学物理的,因科研工作需要自己写一些程序。在之前的学习和工作中,在编写图形用户界面(Graphical User Interface,GUI)程序时,我主要用的是C++ Builder。最早,在做本科毕业设计时,需要写一个数据处理的GUI程序。当时没有接触过GUI编程,最早考虑的是学习MFC。在买了一本大部头的MFC图书并且啃了几页后,发现自己学不进去MFC这种繁琐的类库[捂脸]。后来,又接触到C++ Builder 60,这种快速开发(RAD)工具只需要简单拖拽控件即可完成界面设计,特别适合我这种业余写GUI程序的人[憨笑]。自此便陆陆续续基于C++ Builder开发了多款GUI程序。

Qt也是一个GUI开发库,但是由于已经对C++ Builder比较熟悉且满足需求,便一直没有学习Qt。今年以来,自己对于人工智能算法有了些兴趣,发现处理这类问题目前最为流行的Python+Qt的组合,因此便重新燃起了学习Qt的兴趣。总结来说,用 Qt 来开发GUI程序有以下优点:

1 简单易学:Qt 简单拖拽和几行代码就可以开发出一个简单的GUI程序。这个其实与C++ Builder是类似的。

2 资料丰富:相比于C++ Builder,Qt的更新速度更快,用户群体也更大。

3 漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的动画,而 MFC、WTL、wxWidgets等可能比较麻烦。

4 独立安装:Qt 程序最终会编译为本地代码,不需要其他库的支撑。这是相比于其他GUI语言来讲的,比如: Java 要安装虚拟机,C# 要安装 NET Framework。

5 跨平台:Qt 支持的 *** 作系统有很多,如果你的程序需要运行在多个平台下,同时又希望降低开发成本,Qt 几乎是最优的选择。在这个方面C++ Builder则要差不少。

6多语言:Qt虽然是基于纯C++开发的类库,但是存在Python 、Ruby等脚本语言的绑定, 也就是说可以使用脚本语言开发基于 Qt 的程序。比如前面提到的Python+Qt的组合,就是PyQt。

因此,从今天开始,作为理工科程序小白的我[捂脸],打算从零开始学习Qt,并将学习心得整理成系列文章,也算是对自己的一种激励和鞭策。后期,在Qt的基础上,进一步学习Python和PyQt。

从一个简单的helloword开始吧

pro文件

#-------------------------------------------------

#

# Project created by QtCreator 2010-11-18T12:10:20

#

#-------------------------------------------------

QT -= core

QT -= gui

TARGET = hellowt

LIBS += -L/usr/local/lib -lwt -lwt>

QT与ARM没有直接的关系,QT说自己能跨平台。注意,这个平台说的不是CPU平台而是 *** 作系统。

只要你的嵌入式设备上装有 *** 作系统,QT程序就能在上面运行。例如:QT中有网络的概念,但是完全不同于C51的网络编程,C51里你需要知道网络芯片在总线上的地址,怎么造作网络芯片的寄存器,怎么去ENABLE它,然而QT中的网络只是着重于协议、线程等东西和硬件完全无关。

因此,学习嵌入式QT你首先要对你的ARM开发板安装 *** 作系统,编译环境,之后,学习QT的方法和学习MFC基本上没啥区别。

最后,QT是跨平台硬件无关的,也就是说你在windows、台式机上用QT的方法与在手机、塞班系统上用QT的方法差别不大,因此你会在windows上用qt就OK了,其他的系统上不同的无非是编译与配置方法,对于这些较为死板的东西,都是要用的时候再到网上去查查的。

以上就是关于关于Qt国产化系统开发的几点总结全部的内容,包括:关于Qt国产化系统开发的几点总结、qt动态调用dll库文件找不到指定的程序、从零开始学Qt - 01. 为什么学Qt等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9770943.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存