QT上位机开发(MFC vs QT)

news2025/1/23 6:59:44

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

        在qt之前,上位机开发的主要方法就是mfc。后来出现了c#语言之后,上位机的开发就有一部分人转成了c#。这些开发都是在windows平台完成了,linux上面的界面,则都是通过各种小众库来完成的。自从出现了qt之后,又有很多人转到了qt上面。和其他gui相比较,qt最大的优势就是跨平台。只要是调用的qt类代码,使用的也是boost之类的库,那么基本上不存在跨平台的问题。这一点,对于很多上位机和下位机都需要界面开发的公司来说,就很方便了。

1、编程语言

        从编程语言方面来说,两者都是c/c++,这方面两者都是一样的。只要掌握了基本的c++语法,就可以开始app的开发了。

2、跨平台

        跨平台这方面,那无疑是qt的强项。本来mfc就相当于是微软送的一个框架,因为用单纯的windows api开发上位机实在是太麻烦了。用mfc虽然架构上面麻烦一点,但是好歹可以短时间开发出一个满足要求的上位机出来。而qt一开始的时候,就是面向多平台开发的,所以不管是windows、linux还是mac,都是没有问题的。

3、难易程度

        难易程度其实是相对与框架而言的。mfc的框架基本是app-frame-view-doc的形式。而相对而言qt更自然一点,这方面其实和c# wpf很类似。界面的部分归界面的部分,控制归控制的部分,如果是一般的函数,那就综合成静态库或者是动态库来处理。

4、范例

        在范例这方面,qt本身官方和github上面就有很多的例子可以参考。不夸张的话,很多的功能,如果不太复杂,完全可以直接在示例代码上面修改。而mfc呢,很多时候我们能依靠的就是官方生成的自动代码,不然就是搜索引擎+chatgpt,除此之外的方法并不是很多。

5、美观程度

        虽然mfc也有很多的皮肤可以参考,但是个人观点来说,qt还是更好一点。加上qt有qss的加持,后期优化和改进也更加地方便一点。

6、商业风险

        商业风险来说的话,无疑mfc要小得多。因为对于微软来说,mfc基本上是白送的。所以,在这个平台上开发任何的软件,都是基本上不需要支付费用的。而qt呢,如果是开发开源软件,那么肯定也是不需要支付费用的。但是如果是纯商业软件呢,这就很难说了。

7、工作机会

        如果是从工作机会来说的话,qt的优势还是很大的,不管是windows,还是linux,学习好了c++之后,都可以使用qt在两个平台上面开发软件。这方面mfc就薄弱的多,不光如此,mfc大部分都是老项目、老代码,这不是说不可以做,而是说做的风险很大。

8、软件包安装

        安装qt的话,基本一个软件包就可以解决所有的问题。如果是mingw开发的话,qt里面集成了对应的编译器。如果是用ms2017开发的话,那么需要安装qt-ms版本。而mfc呢,现在已经不集成到开发包里面,需要自己单独安装,这方面也能看出微软的态度了。

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

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

相关文章

Java Chassis 3技术解密:多种序列化方式支持

原文链接:Java Chassis 3技术解密:多种序列化方式支持-云社区-华为云 打开一个简单的 REST 接口: RestSchema(schemaId "ProviderController") RequestMapping(path "/") public class ProviderController {PostMapp…

想提高阅读代码的效率?试试这些工具吧!| 京东云技术团队

1.前言 程序员间有句名言——“Talk is cheap, show me the code!”源码的确相较于言语更接近程序真实的状态,包含了更多的一手信息。因此,无论是刚开始学习代码的小白还是久经沙场的代码大神,不管是学习优秀的开源项目还是做老项…

云服务器基于Centos创建个人云盘实践经验分享

文章目录 安装运行Cloudreve安装ossfscentos更换yum源 配置ossfs挂载oss存储配置开机启动 配置cloudreve推荐阅读 安装运行Cloudreve 执行如下命令,下载cloudreve安装包。 wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/cloudreve_3.3.1_linux_amd64.tar…

kkfileview Word文件预览乱码异常问题

kkfileview Word文件预览乱码异常问题 本篇文章以CentOS为例 这里处理的是服务器没有相关中文字体的解决方案 下载中文字体包 线上 http://kkfileview.keking.cn/fonts.zip上传服务器至目录/usr/share/fonts cd /usr/share/fonts将文件上传至该文件夹下,解压…

海康visionmaster-VM 嵌入:嵌入用户软件界面的方法

描述 环境:VM4.0.0 VS2015 及以上 现象:将 VM 整体嵌入到客户软件界面中? 解答 将 VM 软件整体嵌入到客户软件中,需要利用 Panel 控件,并且需要先启动 VM 软件,具 体代码如下: C# [DllImport(“…

Express框架使用全流程

1.目的和使用场景 对于像我这样不常使用 Node.js 进行开发的人来说,每次开始一个新项目都意味着从头开始设置环境,这个过程相当繁琐。因此,我决定自己构建一个开箱即用的项目脚手架。我的目标是创建一个简单易用的基础框架,能让我…

Html+Css+JavaScript实现完整的轮播图功能

概要 这个案例具备常见轮播图完整的功能,大家可以根据自己的需求去修改; 代码可以直接复制运行,需要安装sass 主要功能: (1)鼠标移入轮播图,左右两边的按钮出现,离开则隐藏按钮&a…

maven私有仓库和公有仓库混合使用

<?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/SETTINGS/1…

测量鼠标DPI的三种方法,总有一种适合你

DPI(dots per inch)代表每英寸点数,是一种用于各种技术设备(包括打印机)的测量方法,但对于鼠标来说,指的是鼠标在桌面上移动1英寸的距离的同时,鼠标光标能够在屏幕上移动多少“点”。 许多游戏鼠标都有按钮,可以让你在玩游戏时动态切换DPI,但如果你不知道鼠标的DPI怎…

黑马程序员——javase基础——day01——Java入门IDEA基础语法

目录&#xff1a; Java入门 Java简介JDK的下载和安装第一个程序常见问题常用DOS命令Path环境变量IDEA IDEA概述和安装IDEA中HelloWorldIDEA中基本配置&注释IDEA中常用快捷键IDEA中模块操作基础语法 字面量数据类型变量变量的案例 手机信息描述疫情防控信息采集表变量的注意…

引领未来:话务数据展示大屏助力企业决策

在当今信息爆炸的时代&#xff0c;企业需要一个直观、高效的数据展示平台来帮助他们快速获取、分析和决策。山海鲸可视化话务数据展示大屏&#xff0c;就是这样一款引领企业迈向高效决策新纪元的产品。 一、什么是山海鲸可视化话务数据展示大屏&#xff1f; 山海鲸可视化是一款…

Androidmanifest文件加固和对抗

前言 恶意软件为了不让我们很容易反编译一个apk&#xff0c;会对androidmanifest文件进行魔改加固&#xff0c;本文探索androidmanifest加固的常见手法以及对抗方法。这里提供一个恶意样本的androidmanifest.xml文件&#xff0c;我们学完之后可以动手实践。 1、Androidmanife…

LLM:Scaling Laws for Neural Language Models (中)

核心结论 1&#xff1a;LLM模型的性能主要与计算量C&#xff0c;模型参数量N和数据大小D三者相关&#xff0c;而与模型的具体结构 (层数/深度/宽度) 基本无关。三者满足: C ≈ 6ND 2. 为了提升模型性能&#xff0c;模型参数量N和数据大小D需要同步放大&#xff0c;但模型和数…

这三款内网管理监控软件让你事半功倍

在当今高度信息化的时代&#xff0c;企业内部网络&#xff08;内网&#xff09;已经成为企业运营和发展的重要支撑。 然而&#xff0c;随着内网规模的扩大和复杂性的增加&#xff0c;内网的管理和监控也变得越来越困难。 为了提高内网的管理效率和工作效率&#xff0c;许多企…

在Linux上使用PHP-FPM与Nginx实现高效的HTTP处理

当谈到高效的HTTP处理时&#xff0c;PHP-FPM&#xff08;FastCGI进程管理器&#xff09;与Nginx的结合是许多web开发者的首选。这种组合提供了出色的性能、可扩展性和稳定性&#xff0c;尤其适用于高流量的网站和应用程序。 1. 为什么选择PHP-FPM与Nginx&#xff1f; 性能优化…

excel(vab)删除空行

删除第一、二、三列位空的所有行&#xff08;8000)行范围以内 代码如下&#xff1a; Sub Macro1()Dim hang As Integer For hang 8000 To 1 Step -1If Sheet1.Cells(hang, 1) "" And Sheet1.Cells(hang, 2) "" And Sheet1.Cells(hang, 3) "&quo…

2024 基于 Rust 的 linter 工具速度很快

2024 年 Web 工具的一大趋势是使用 Rust 重写现有工具。Rust 是一种出色的编程语言&#xff0c;能生成运行速度惊人的二进制文件&#xff0c;且与其它 Web 工具的互操作性极佳&#xff0c;这得益于 WebAssembly 的帮助。swc 和 Turbopack 等工具的速度提升为快速开发体验带来了…

代码随想录算法训练营第24天 | 理论基础 77. 组合

目录 理论基础 什么是回溯法 回溯法的效率 回溯法解决的问题 如何理解回溯法 回溯法模板 77. 组合 &#x1f4a1;解题思路 &#x1f4bb;实现代码 理论基础 什么是回溯法 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯法的效率 虽然回溯法很难&#xff…

Nestjs 笔记

一、模块添加版本 1、添加如下代码 2、访问方式 http://localhost:3000/v1/list 二、跨域处理 1、安装依赖 npm install corsnpm install types/cors -D 2、app.module.ts 添加代码 import { NestFactory } from nestjs/core; import { AppModule } from ./app.module; i…

QQ视频聊天怎么录制

虽然微信几乎成为主流的聊天工具&#xff0c;但是不可否认的是QQ视频聊天仍有他的趣味所在&#xff0c;多种特效在视频的时候增加乐趣&#xff0c;那么如果QQ视频聊天的时候可以录制聊天内容吗&#xff1f;当然是可以的。可以使用电脑自带的视频录制工具&#xff0c;或者QQ自带…