QT上位机开发(开篇)

news2024/11/25 4:49:09

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        可能是因为03年上大学的原因,那个时候学习的编译工具主要就是VC6,一个普遍被认为是古老的开发工具。如果要编写界面的话,基本上只有两种方法,要么用原生的Windows API,或者用MFC进行编程。MFC虽然逻辑上复杂很多,但是至少用它可以帮助我们开发出用户需要的软件,不失为一种实用的开发方法。时至今日,MFC早已经不再是VisualStudio的默认安装选项了。如果大家需要使用MFC的话,也不是不可以,需要自己用vs comminity安装工具重新安装一下才行,比方说像截图这样,

        事实上,自己第一次使用QT也是差不多4年前,那个时候因为项目的需要,使用QT开发上位机软件。使用过后,发现QT其实也蛮好用的。除了QT软件包安装、VisualStudio 2017软件安装、QT VS插件安装之外,其他也不需要额外处理其他软件。QT安装不仅方便,它的使用逻辑也非常清楚,基本上就是app + windows的开发方法。这个c# wpf非常相像。

1、哪些人需要QT开发

        QT开发有两个很明显的优点,第一个就是跨平台。因为QT本身已经替我们完成了跨平台的操作,就像java语言帮助我们实现了跨平台一样。如果我们编写的代码中不包含特定平台的API函数,那么依赖于QT实现跨平台是很容易的事情。第二个就是效率。就像c/c++语言虽然本身历史比较长,但是在这么长的时间当中也积累了大量的第三方库代码。这些都是非常宝贵的财富。此外由于c/c++语言可以直接转换成汇编代码,用户自己甚至都可以使用汇编语言进行优化处理,这在其他平台之上都是做不了的。

2、哪些人其实不需要QT开发

        虽然QT开发有很明显的优点,但是并不是所有的人都适合QT开发。比如说,假设我们开发的软件非常简单,而且只是在windows上运行,这个时候说不定用MFC开发更适合呢。还有一种情况,虽然我们开发的功能比较多,但是大部分功能都是系统集成或者是模块整合,对效率部分没有太高的要求,大部分开发人员也不是计算机专业出身,那么这个时候QT未必那么适合用来进行相关软件开发,反而是c# wpf这一类的开发平台非常适合用来进行软件开发。c#第三方库多,语法简单,对效率本身不是那么在意的同学完全可以用c# wpf进行软件开发。我们自己也需要明白,客户很多时候并不care软件是怎么开发出来的,他们关心的是功能是不是满足需求、稳不稳定、价格是不是合理。

3、使用QT是否一定需要精通c++语言

        由于QT本身是基于c++进行开发的平台,很多朋友可能会比较担心,自己的c++能力是否可以胜任QT的开发。其实有这方面担心的朋友完全是多虑了,我们是使用QT来开发软件,而不是开发纯QT软件。其实只要了解基本c++语法,了解构造函数、析构函数、虚函数,了解继承、封装、多态这些基本知识点,不过分使用最新的c++语法标准,那么用c++来开发QT软件完全是可行的。退一步说,等出现问题的时候,及时改正也可以的。程序员本来就是在不停实践、不停试错的操作中进步和成长的。

4、QT的隐形风险

        上面三点,说的都是程序员本身需要注意的地方。那么作为企业来说,如果使用QT作为公司上位机软件开发的主平台,那么有两个隐形风险是需要注意下的。第一,市场上合格的c++程序员不多,而且找到之后,一般用人成本都不低;第二,QT使用还会有一定的版权风险。如果是国内使用,或许这方面的风险还小一点,但是产品一旦出口,一定会涉及到合法、合规的要求,到时候再来进行处理,恐怕会有不小的代价。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1343278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java设计模式学习之【访问者模式】

文章目录 引言访问者模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用电脑示例代码地址 引言 设想你是一个艺术馆的管理员,艺术馆里有各种各样的艺术品。每当有游客来访时,根据他们的兴趣,他们可能只想看画、雕塑或特定的…

私有部署ELK,搭建自己的日志中心(六)-- 引入kafka对采集日志进行削峰填谷

一、背景 首先,要说明一点,elk日志中心,是可以缺少kafka组件的。 其次,如果是研发环境下,机器资源紧张的情况下,也是可不部署kafka。 最后,因为kafka的部署是可以独立的,所以本文将…

成都服装(服饰)行业2023年度工作总结表彰大会暨五圣荟户外大本营签约发布会

凝心聚力谋发展,稳中求进谱新篇,由成都服装(服饰)行业协会主办,成都梵圣万汇文化发展有限公司承办的成都服装(服饰)行业2023年度工作总结表彰大会暨五圣荟户外大本营签约发布会于2023年12月28日…

数据库系统(六)数据库范式 | 函数依赖,一二三范式,BCNF,属性集闭包和正则覆盖

文章目录 1 好的关系设计的特征2 函数依赖关系3 Normal Forms 规范形式3.1 一二三范式3.1.1 基本概念3.1.2 判断是否满足3NF 3.2 BCNF3.2.1 基本概念3.2.2 判断是否满足BCNF3.2.3 分解得到BCNF 4 属性集闭包和正则覆盖4.1 属性集闭包求法4.2 属性集闭包应用4.2.1 测试某个属性集…

借助 Google Play 游戏电脑版新功能,加速业务增长

作者 / Google Play 游戏总监 Arjun Dayal Google Play 游戏电脑版测试版自去年发布以来,取得了巨大的发展。Google Play 游戏电脑版现在提供 3,000 多种游戏,覆盖 120 多个国家/地区的用户,为玩家提供各种类型的游戏。我们的热门移动游戏目录…

4-链表-合并两个有序链表

这是链表的第4题,来个简单算法玩玩。力扣链接。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&#xff…

Kindle使用USB数据线传书封面无法显示问题

以下内容只针对USB传书(非越狱版本,越狱了有相关插件,这里不谈),不包括邮件传书。 恶心图如下: 直接把mobi/azw3/azw (epub模式不能直接拷贝,kindle无法读取)格式的电子…

99. 恢复二叉搜索树

#中序遍历,寻找插值位置并交换 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def recoverTree…

基于MINIST的手写数字体识别

一、算法简述 网络结构设计 通过创建MnistNet类,定义了包含两个卷积层和两个全连接层的深度神经网络。这个网络的设计灵感来自于经典的CNN结构,其中卷积层用于提取图像特征,而全连接层则用于将这些特征映射到最终的类别。 卷积与池化 卷…

新能源汽车高性价比电驱系统设计技术

版权声明:此资源由用户收集整理于网络,只用于交流学习,请勿用作它途。除非确实无法确认,我们都会注明作者和来源,无法确认情况我们标注来自网络。若涉及版权问题,烦请原作者联系我们,与您共同协…

【软件工程】漫谈增量过程模型:软件开发的逐步之道

🍎个人博客:个人主页 🏆个人专栏: 软件工程 ⛳️ 功不唐捐,玉汝于成 目录 前言: 正文 增量过程模型(Incremental Process Model) 主要特点和阶段: 优点&#xff1…

第五课:集成电路与摩尔定律(硬件的发展)、操作系统、内存和储存介质(存储技术的发展)、文件系统、压缩、命令行界面及屏幕与 2D 图形显示

第五课:集成电路与摩尔定律(硬件的发展)、操作系统、内存和储存介质(存储技术的发展)、文件系统、压缩、命令行界面及屏幕与 2D 图形显示 第十七章:集成电路与摩尔定律(硬件的发展)1…

爬虫工作量由小到大的思维转变---<第三十四章 Scrapy 的部署scrapyd+Gerapy>

前言: scrapy-redis没被部署,感觉讲起来很无力;因为实在编不出一个能让scrapy-redis发挥用武之地的案子;所以,索性直接先把分布式爬虫的部署问题给讲清楚!! 然后,曲线救国式地再在部署的服务器上,讲scrapy redis我感觉这样才好! 正文: 现在还有不少人在用scrapy web进行爬虫管…

Springboot启动流程-持续记录中

注:转载请携带本文链接及公众号信息 公众号:codelike 基于springboot2.6.x 源码 Springboot启动之第一篇 SpringApplication构造器 启动入口方法是new SpringApplication.run(),一切的开始都从这里 这里做了什么呢 分为初始化SpringApplication实体、执行run()…

rime中州韵 自定义词典

在使用 rime 输入法的过程, 我们往往会需要增加一些个个性化的词条,这些词条我们可能通过自定义词典的方式来管理和使用。 Custom_phrase.txt 首先,我们需要有一个词典文档,这里我们把 Custom_phrase.txt 文档作为我们的自定义文…

c语言-string.h库函数初识

目录 前言一、库函数strlen()1.1 strlen()介绍1.2 模拟实现strlen() 二、库函数strcpy()2.1 strcpy()介绍2.2 模拟实现strcpy() 三、库函数strcmp()3.1 strcmp()介绍3.3 模拟实现strcmp() 总结 前言 本篇文章介绍c语言<string.h>头文件中的库函数&#xff0c;包含strlen…

汽车电子喇叭,预计未来几年全球市场将以显着的速度增长

根据最近的市场研究报告&#xff0c;预计未来几年全球汽车电子喇叭市场将以显着的速度增长。这种增长是由对汽车高级安全系统的需求不断增加以及电动汽车 (EV) 和混合动力电动汽车 (HEV) 的日益普及所推动的。此外&#xff0c;智慧城市的发展和对车对车&#xff08;V2V&#xf…

CEC2017(Python):五种算法(HHO、RFO、OOA、PSO、GWO)求解CEC2017

一、5种算法简介 1、哈里斯鹰优化算法HHO 2、红狐优化算法RFO 3、鱼鹰优化算法OOA 4、粒子群优化算法PSO 5、灰狼优化算法GWO 二、CEC2017简介 参考文献&#xff1a; [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). “Problem d…

Python 操作 MySQL:使用 mysql-connector-python 操作 MySQL 数据库

大家好&#xff0c;我是水滴~~ 当涉及到使用 Python 操作 MySQL 数据库时&#xff0c;mysql-connector-python 库是一个强大而常用的选择。该库提供了与 MySQL 数据库的交互功能&#xff0c;使您能够执行各种数据库操作&#xff0c;如连接数据库、执行查询和插入数据等。在本文…

余弦相似度算法

余弦相似度算法 是什么 余弦距离&#xff0c;也称为余弦相似度&#xff0c;是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。 余弦值越接近1&#xff0c;就表明夹角越接近0度&#xff0c;也就是两个向量越相似&#xff0c;这就叫"余弦相似性&q…