相关文章推荐
怕考试的木耳  ·  软件分享库合集链接汇总推荐_蓝奏云软件分享链 ...·  5 月前    · 
精明的日记本  ·  江西省发布第三批非法集资严重失信人名单 ...·  1 年前    · 
奔放的梨子  ·  Creating Word ...·  2 年前    · 
奔跑的苦咖啡  ·  地藏菩萨本愿经讲记(第十三卷)·  2 年前    · 
愤怒的菠萝  ·  异兽魔都(林田球创作的系列漫画)_搜狗百科·  2 年前    · 
Code  ›  选择QT作为Windows客户端开发框架开发者社区
云计算 社区功能 框架 开发框架
https://cloud.tencent.com/developer/article/1785148
精明的猴子
1 年前
gaigai

选择QT作为Windows客户端开发框架

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
gaigai
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 选择QT作为Windows客户端开发框架

选择QT作为Windows客户端开发框架

作者头像
gaigai
发布 于 2021-02-04 11:29:41
3.3K 0
发布 于 2021-02-04 11:29:41
举报
文章被收录于专栏: Windows开发

当你的产品决定使用C++进行Windows客户端开发时,也许QT是非常适合您产品的C++开发框架,框架选型时不容错过。其跨平台、功能丰富、文档齐全,稳定、已广泛应用于许多产品。

笔者最早使用QT是因为其跨平台,可以支持产品在Windows/Mac平台上运行,使用过程中发现QT框架的强大,相比以前自己找各种各样开源库编译/封装实现,效率大增,于是在后来的产品不要求跨平台又决定使用C++开发时,我都会优先考虑使用QT框架。接下来,我将谈谈QT对开发过程中常用的能力支持情况。

QT支持跨平台

如果你的产品需要支持Windows/Mac/Linux平台,QT是你的不二之选。可以想象下使用C++开发支持这三个平台的桌面应用,难度有多大。当然,前提是你已经决定使用C++作为开发语言,而不是Java/Web。

QT的强大界面库/国际化

QT Designer工具提供所见即所得的界面开发。工程编译时自动化生成UI的逻辑代码,与业务逻辑代码独立。提供丰富的控件库,强大的控件扩展能力,支持类似CSS的样式,完善的帮助文档,很容易在网上搜索到遇到的问题的答案。

QT对多分辨适配也给予支持,如果你要适配4K屏,设置一个比例因子就可以(注意不要绝对布局)。

QT提供对国际化的支持,代码中按照规范引用字符串(比如 tr("hello")),编译的时候就会将这些字符串生成到一份语言文件,QT提供相应的工具用来查看/编辑/编译这份语言文件,运行时根据系统语言设置对应语言文件。

QT的WebEngine

虽然选择使用C++作为产品开发的语言,但是对于性能要求不高的功能还是可以选择使用Web开发,也就是混合开发模式,于是需要提供Web的运行环境。QT的WebEngine是基于Chromium内核封装实现,QWebEngineView是QT UI框架的一个控件,可以用于加载Web站点,QWebChannel提供Web与Native之间通信通道。不使用QT进行混合开发,就要自己引入开源CEF框架,增加Web与Native之间通信通道,是一笔不小的工作量,而且需要对CEF较为熟悉。

QT的网络编程

Network模块支持协议包括:TCP、UDP、SCTP、HTTP、HTTPS、SSL(X509)、DNS,也支持WebSocket。

QT支持数据库/Json/Xml

客户端开发常用的sqlite数据库,数据交换协议Json/Xml,QT也都支持。

QT强大的信号槽机制

QT信号槽机制本质是一种回调的实现,A对象定义信号、触发信号,B对象定义槽,连接信号,当A对象触发信号时,B对象的槽就会被调用。同一个信号可以连接多个槽,实现一对多的调用。信号与槽连接时可以指定同步调用/异步调用,当触发信号的线程与实现槽的线程不同时异步调用保证槽在正确的线程中运行,这对多线程安全至关重要。

丰富第三方开源库(基于QT实现)

当你的产品开发需要的能力,QT未提供的时候,一般在github上也能找到开源库。笔者开发过程中就用到libgitlevtbus库实现事件总线,用到qtpdfium实现pdf文档的读取。

本文参与 腾讯云自媒体同步曝光计划 ,分享自微信公众号。
原始发表:2021-01-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除
qt
网站
开源
编程算法
打包

本文分享自 Windows开发 微信公众号, 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!

qt
网站
开源
编程算法
打包
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
推荐阅读
LV.
文章
0
获赞
0
相关产品与服务
事件总线
腾讯云事件总线(EventBridge)是一款安全,稳定,高效的云上事件连接器,作为流数据和事件的自动收集、处理、分发管道,通过可视化的配置,实现事件源(例如:Kafka,审计,数据库等)和目标对象(例如:CLS,SCF等)的快速连接,当前 EventBridge 已接入 100+ 云上服务,助力分布式事件驱动架构的快速构建。
产品介绍 产品文档
精选特惠 用云无忧
领券
  • 社区

    • 技术文章
    • 技术问答
    • 技术沙龙
    • 技术视频
    • 学习中心
    • 技术百科
    • 技术专区
  • 活动

    • 自媒体同步曝光计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2024 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
怕考试的木耳  ·  软件分享库合集链接汇总推荐_蓝奏云软件分享链接网站汇总手机 - 骑士助手
5 月前
精明的日记本  ·  江西省发布第三批非法集资严重失信人名单 _ 防范金融风险 _ 南昌县人民政府
1 年前
奔放的梨子  ·  Creating Word Application using Excel VBA: Run-time error '429': ActiveX component can't create obje
2 年前
奔跑的苦咖啡  ·  地藏菩萨本愿经讲记(第十三卷)
2 年前
愤怒的菠萝  ·  异兽魔都(林田球创作的系列漫画)_搜狗百科
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号