在非GUI应用程序中使用Qt,优点和缺点?

 钢铁年代2502883227 发布于 2023-01-30 21:56

我正在使用C++开发半实时系统.很多设计和逻辑都是基于事件的.在寻找c ++的一些事件框架时,我找到了Qt.Qt中的信号/插槽,状态机看起来非常适合我的情况.我更喜欢他们而不是提升.此外,QObject系统有很多很好的功能,例如QObject Model,moc,父子对象内存管理等.但是我对Qt知之甚少,我在这里有几个问题.

    现在我对c ++/stl非常熟悉,是否值得花时间学习Qt?无论如何,我不会使用它最受欢迎的部分,UI.

    与stl/boost相比,Qt的性能如何?由于应用程序是实时的,因此性能是关键要求.例如,我必须非常仔细地设计数据布局以最大化CPU缓存利用率.Qt提供的所有功能都会带来一些开销.会有多大的影响?

    Qt开发中的多线程怎么样?我可以在Qt对象中使用stl线程或pthread,还是必须使用Qt提供的线程?这个容易用吗?

TwilightSun.. 7

    Qt非常值得学习.它肯定会提高你的开发速度.与boost框架相比,Qt具有非常完整和可读的文档和示例代码,可以帮助您快速学习.

    我假设您正在比较集合实现的性能.您可以参考:http://blog.codeimproved.net/2009/12/qtl-or-stl/.由于Qt更关注开发体验,因此与stl/boost相比,它的一些功能可能会有一些性能下降.但是如果有任何重大的性能损失,你总是可以毫无痛苦地切换回stl.

    QThreads是基于pthreads构建的,同时提供OO抽象.如果你正在使用Qt Objects,我建议你使用QThread.它绝对易于使用,因为开发轻松是Qt的设计理论.

Qt的另一个好处是它保证在每个支持Qt的平台上,底层实现是相同的,而某些平台只提供不完整或不同的STL支持,甚至根本不提供STL支持.Qt总是更容易预测,因为它由一个组织管理.

1 个回答
    1. Qt非常值得学习.它肯定会提高你的开发速度.与boost框架相比,Qt具有非常完整和可读的文档和示例代码,可以帮助您快速学习.

      我假设您正在比较集合实现的性能.您可以参考:http://blog.codeimproved.net/2009/12/qtl-or-stl/.由于Qt更关注开发体验,因此与stl/boost相比,它的一些功能可能会有一些性能下降.但是如果有任何重大的性能损失,你总是可以毫无痛苦地切换回stl.

      QThreads是基于pthreads构建的,同时提供OO抽象.如果你正在使用Qt Objects,我建议你使用QThread.它绝对易于使用,因为开发轻松是Qt的设计理论.

    Qt的另一个好处是它保证在每个支持Qt的平台上,底层实现是相同的,而某些平台只提供不完整或不同的STL支持,甚至根本不提供STL支持.Qt总是更容易预测,因为它由一个组织管理.

    2023-01-30 22:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有