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

这篇具有很好参考价值的文章主要介绍了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的界面代码就需要窗口系统支持。要考虑无界面环境,必须从一开始就设计避免使用窗口和控件。 文章来源地址https://www.toymoban.com/news/detail-683105.html

到了这里,关于Qt中 gui 模块和 widgets 模块的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyQt5利用Qt designer(QT设计师)使用tab widget和stacked widget实现多页面切换

    本文只提供一种设计思路来完成简单的页面切换功能,并没有涉及页面的美化以及复杂的业务功能实现。 点击tab页对tab widget的tab页进行切换效果图: 点击radio button驱动stacked widget多页面切换效果图: 下面进行分步说明。 打开qt designer,新建一个widget窗口。 将一个tab widget拖

    2024年02月03日
    浏览(57)
  • QT设置widget背景图片

    首先说方法,在给widget或者frame或者其他任何类型的控件添加背景图时,在样式表中加入如下代码,指定某个控件,设置其背景。 如果单纯改变样式表,没有指定控件的话,内部的其他控件背景也会改变。 特别提醒:类名 # 控件名,其中控件名要准确,假如你把widget的名字改

    2024年02月11日
    浏览(47)
  • 「Qt中文教程指南」如何创建基于Qt Widget的应用程序(四)

    Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文描述了如何使用Qt Creator创建一个小的Qt应用程序

    2024年02月06日
    浏览(58)
  • QT入门Input Widgets之QSlider

    目录 一、界面布局功能 1、界面位置介绍 2、控件界面基本属性 2.1horizontalSlider界面属性 2.2设置步进 2.3打开或关闭滑块跟踪(setTracking) 二、属性功能介绍 1、常用信号 2、调用信号 3、鼠标点击QSlider滑块定在点击位置 三、Demo展示  此文为作者原创,创作不易,转载请标明出

    2024年02月03日
    浏览(42)
  • QT设置widget背景图片,不影响widget内其他控件背景的方法

    首先说方法,在给widget或者frame或者其他任何类型的控件添加背景图时,在样式表中加入如下代码,指定某个控件,设置其背景。 如果单纯改变样式表,没有指定控件的话,内部的其他控件背景也会改变。 特别提醒:类名 # 控件名,其中控件名要准确,假如你把widget的名字改

    2024年02月11日
    浏览(68)
  • Qt之qml和widget混合编程调用

    首先是创建一个widget项目 然后需要添加qml和quick的插件使用 QT += quickwidgets qml 接着要在界面上创建一个quickwidget和按钮 创建一个c++对象类 QObjectQml cpp实现文件 注册c++对象到系统中 接着c++的界面对象中调用即可 qml文件的实现如下: 运行结果如下:

    2024年02月14日
    浏览(37)
  • [Qt] 怎么将Widget调整为自适应大小?

    怎么将Widget调整为自适应大小? 要将Qt中的Widget调整为自适应大小,可以通过以下步骤实现: 为Widget设置自适应大小属性:将QWidget的sizePolicy设置为QSizePolicy::Expanding,可以使Widget在布局中自适应大小,如下所示:

    2024年02月01日
    浏览(38)
  • Qt 容器控件之Tab Widget 使用详解

    功能 QTabWidget 的一种带标签页的窗口,在这种类型的窗口中可以存储多个子窗口,每个子窗口的显示可以通过对应的标签进行切换。   相关API // 构造函数 QTabWidget::QTabWidget(QWidget *parent = Q_NULLPTR); // 公共成员函数 /* 添加选项卡addTab()或者插入选项卡insertTab()函数相关的参数如

    2024年02月13日
    浏览(44)
  • 【实操干货】如何开始用Qt Widgets编程?(二)

    Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 在本文中,我们通过使用C++和Qt Widgets模块实现一个简

    2024年02月13日
    浏览(40)
  • 【实操干货】如何开始用Qt Widgets编程?(三)

    Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 在本文中,我们通过使用C++和Qt Widgets模块实现一个简

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包