版权声明 —————————

本文仅在知乎博客园发布。开发者为szx0427

MFC和Win32搞了好几年了,也算是懂了个皮毛,但是一直觉得用这两者开发软件都很麻烦,需要将大量的代码花费在UI等地方上。而且MFC对C++的利用,也差不多仅限于类(有些地方也用到模板,但很少),其他C++的特性基本上没有怎么利用,更偏向于C语言的Windows开发。最近听说有Qt这个平台,做UI、基本功能等都很方便,还可以轻松跨平台。我便试着入坑Qt,来体验一下,到底有多好用。

  我写了一个小项目:MD5计算器,支持单个或多个文件的MD5计算和单个文件的MD5校验(其实多文件批量md5校验也不是不能搞,但我这人很懒,软件什么的都随缘更新,也没几个人用,暂时就这样吧)。这也算是我的qt初体验。我在使用过程中,也不得不承认,qt确实香。

小项目的全部工程文件、历史版本的可执行文件打包下载链接(tx微云):



点击打开点击打开

 其中,.pro文件为项目文件。我使用的Qt版本: v4.8.7,编译器:MinGW v4.2.0,Debug版为动态编译,Release版为静态编译。

题外话:动态编译速度快,exe体积小,但加上运行需要的DLL,大小有几十个MB甚至上百个MB,实在太大。所以按照教程,在朋友的帮助下,手动编译了Qt的静态库,达到静态编译的目的。虽然过程很麻烦,但这是一劳永逸的事情。静态编译Release版,出来的exe有十几兆,经过UPX的LZMA引擎压缩后,可达4兆左右,具体取决于代码量以及所用的库。这个大小虽然跟Win32、MFC出来的程序相比要大很多,但是作为一个Qt程序,这已经算极致大小了。且Qt开发,可比MFC开发要容易、方便得多。这种方式编译的文件,基本不需要运行库,Windows 2000都可以运行。

 若有问题,欢迎大家指正。我也墙裂推荐用C++搞开发的试用一下Qt,只有你亲身体验过,你才会意识到它真的香。

[开源]入坑Qt,我的第一个小程序:MD5计算器的更多相关文章

  1. TODO:即将开发的第一个小程序

    TODO:即将开发的第一个小程序 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验.个人理解小程序是寄宿在微信平台上的一个前端框架,具有跨平台功能, ...

  2. Maven的第一个小程序

    这里是介绍关于maven的第一个小程序 关于maven的安装 : Install Maven in your computer 先看看目录结构: 这是本来的项目目录结构,由于maven有自己的目录结构 ...

  3. 微信小程序-----安装,编写第一个小程序和运行到手机端

    第一步: 微信公众平台注册账号,并选择小程序,网址:mp.weixin.qq.com 填写相关信息,如:主体类型(个人或者企业) AppID  在开发中都是用的到的,服务器域名在网络请求也是用的到的. ...

  4. Struts2学习笔记——Struts2搭建和第一个小程序

    1.新建web项目 2.配置Struts2核心过滤器 (1)打开web.xml文件,做以下配置: <?xml version="1.0" encoding="UTF ...

  5. 自学Android的第一个小程序(小布局、button点击事件、toast弹出)

    因为上班,学习时间有限,昨晚才根据教程写了一个小程序,今天忙里偷闲写一下如何实现的,来加深一下印象. 首先创建一个Android项目, 通过activity_xxx.xml布局文件来添加组件来达到自己 ...

  6. 动手搭建第一个小程序音视频Demo

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:小程序音视频产品经理 腾讯云提供了全套技术文档和源码来帮助您快速构建一个音视频小程序,但是再好的源码和文档也有学习成本,为了尽快的能调试起 ...

  7. JAVA版开源微信管家—JeeWx捷微3.1小程序版本发布,支持微信公众号,微信企业号,支付窗

    支持小程序,JeeWx捷微3.1小程序版本发布^_^ JeeWx捷微V3.1--多触点小程序版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.1.0版本紧跟微信小程序更新,在原有 ...

  8. 第一篇、微信小程序_01计算器

    官方文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 一.计算器的首页布局 第一部分WXML: <view class=&quo ...

  9. Pyqt5-Python应用开发——第一个小程序的实现

    环境:python 3.6.6 编辑器:pycharm 其他:QtDesigner:Qt Designer,是一个直观可见的全方位 GUI 构造器,它所设计出来的用户界面能够在多种平台上使用.它是 Q ...

随机推荐

  1. CRM系统如何帮助企业管理多条业务线的?

    在如今的市场环境中,许多企业为了提高销售效率,增加业绩收入,都会选择使用CRM客户关系管理系统来帮助进行对客户和销售的管理.CRM系统能够帮助企业在不同的产品线上同时开展营销活动.各个销售团队能够独立 ...

  2. 部署JAX-WS Web服务作为战争中的Apache Tomcat(Deploying JAX-WS webservice as War in Apache Tomcat)

    问 题   I have developed a webservice using JAXWS and able to run it from the eclipse on Tomcat 7 with ...

  3. linux 之sed用法

    sed:Stream Editor文本流编辑,sed是一个"非交互式的"面向字符流的编辑器.在使用sed处理时,它把当前处理的行存储在临时缓冲区中,称为"模式空间&quo ...

  4. Acunetix引入了Docker支持,扫描统计信息以及将漏洞发送到AWS WAF的功能

    已针对Windows,Linux和macOS发布了新的Acunetix更新:14.2.210503151. 此Acunetix更新引入了Docker支持,针对每次扫描显示的新"扫描统计信息& ...

  5. ESP32非易失性存储整型数据笔记

    基于ESP-IDF4.1 1 #include <stdio.h> 2 #include "freertos/FreeRTOS.h" 3 #include " ...

  6. jconsole和jstack

    1.jconsole jconsole是jdk自带的一个可视化的jvm监控工具,可以监控本地的jvm,也可以监控远程jvm 打开本地jdk安装目录下的bin目录下的jconsole.exe 2.jst ...

  7. 「 题解」NOIP2021模拟赛(2021-07-19)

    小兔的话 欢迎大家在评论区留言哦~ D - 矩阵 简单题意 一个 \(i * i\) 的 \(01\) 矩阵,若满足 每一行 和 每一列 都满足 恰好 有 \(2\) 个位置是 \(1\) 时,称为 ...

  8. 团队开发day10

    项目整合成功,测试功能基本达到,目标完成!

  9. R在ubuntu16.04上环境搭建

    1.R安装 sudo apt-get update sudo apt-get remove vim-common sudo apt-get install vimapt-cache show r-ba ...

  10. Centos 7 配置阿里云 yum 源

    Centos 7 配置阿里云 yum 源 一. 禁用 yum 插件 fastestmirror 修改插件的配置文件 cp /etc/yum/pluginconf.d/fastestmirror.con ...