当前位置: 首页 > news >正文

Qt中 gui 模块和 widgets 模块的区别

1. gui 模块提供了基本的图形系统抽象层,包括QPaintDevice、QPainter等类,这些类构成了Qt的绘图基础。

2. widgets 模块在 gui 模块的基础上,提供了完整的桌面级用户界面控件,如按钮、列表、滑块等。这些控件继承自更基础的图形类。

3. gui 模块是更底层的图形功能,widgets模块依赖于gui模块,提供了高级控件实现。

4. 如果只需要基本的GUI编程功能,可以只使用gui模块。如果要开发完整的桌面程序,需要同时使用gui和widgets。

5. gui模块包含的类提供绘图功能,但没有事件、布局等高级功能。widgets模块在gui之上扩展了这些高级特性。

6. gui模块编译产生的库文件体积更小,用于不需要GUI控件的应用,如服务端程序。

总结来说,gui模块提供基础绘图和渲染功能,widgets模块在此基础上实现完整的桌面控件层。两者可以分开使用,但widgets依赖gui。这个分层设计让Qt的图形系统更加灵活可扩展。

2依赖于gui的qt程序可以在无界面的终端系统centos上跑吗?

        如果Qt程序依赖gui模块,但没有使用widgets模块的代码,是可以在无界面的终端环境如CentOS上运行的。

        关键的是该Qt程序不能使用任何QWidget及其子类的GUI控件代码,这些控件都依赖于底层的窗口系统支持。但使用gui模块提供的核心绘图类是可以的,如QPainter、QPixmap、QIcon等。这些类不依赖窗口系统,可以在无界面环境下使用,实现一些基本的图片处理、图形输出等功能。所以如果程序只使用gui模块的纯绘图功能,不涉及任何窗口、控件的创建和显示,就可以在终端环境下运行。但这需要程序从设计上就考虑到无界面环境,不依赖窗口和控件,只基于核心绘图类实现所需功能。如果已经使用了窗口、界面控件,要想在无界面环境运行,就需要进行较大改造,把界面相关代码全部剥离出去。

总之,Qt gui独立使用可以在无界面环境下运行,但依赖widgets的界面代码就需要窗口系统支持。要考虑无界面环境,必须从一开始就设计避免使用窗口和控件。 

http://www.lryc.cn/news/148059.html

相关文章:

  • feign调用流程
  • 15-数据结构-二叉树的遍历,递归和非递归
  • 最新绕过目标域名CDN进行信息收集技术
  • overlayfs
  • Mysql中九种索引失效场景分析
  • Android RecyclerView 之 列表宫格布局的切换
  • 妈妈的爱依然深沉
  • net.ResolveTCPAddr(“tcp6“, address)
  • mysql和mybatisPlus实现:datetime类型的字段范围查询
  • 学习笔记:用ROS接收rosbag发布的topic
  • LAMP架构介绍配置命令讲解
  • C语言之函数题
  • SpringBoot的四种handler类型
  • 基于KNN算法的鸢尾花种类预测
  • 英语-面试
  • 文件传输协议
  • Llama-2大模型本地部署研究与应用测试
  • 白嫖idea
  • PyCharm切换虚拟环境
  • 自动化运维工具-----Ansible入门详解
  • 一、Mycat2介绍与下载安装
  • 链表的介绍
  • 深度剖析:数据服务API的安全性与隐私保护
  • MediaPlayer音频与视频的播放介绍
  • 【Terraform学习】Terraform模块基础操作(Terraform模块)
  • 改进的KMeans 点云聚类算法 根据体元中的点数量计算点密度,并获取前K个点密度最大的体元作为初始聚类中心(附 matlab 代码)
  • php user.ini详解
  • 用 PHP 和 JavaScript 显示地球卫星照片
  • Ubantu安装mongodb,开启远程访问和认证
  • 高手速成|数据库脚本生成工具