Qt的三个基类QObject、QApplication和QWidget

2023-05-16

一、Qt介绍

1.概述

Qt是一个跨平台的C++图形用户界面应用程序框架。由挪威TrollTech公司出品。
1996年Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,KDE是所有主要的Linux发行版的一个标准组件。

2. 开发公司rollTech

rollTech公司目前开发两种产品:
Qt:跨平台的图形界面设计平台
Qtopia:嵌入式系统的应用程序开发平台

3. 什么是图形用户界面?

GUI, 是 Graphical User Interface 的缩写

使用图形的方式,借助菜单、按钮等标准界面元素和鼠标进行操作,帮助用户方便地向计算机系统发出指令,并将系统运行的结果同样以图形方式显示给用户

3.1 GUI的主要特征

WIMP。(Windows、Icons、Menu、Pointing Devices)
用户模型。(Desktop桌面办公的隐喻)
直接操作。

3.2 常用的嵌入式GUI系统有5种:

X Windows
Microwindows
MiniGUI
Qt/Embedded

3.3 GUI系统的比较

这里是引用

二、QObject类

  • QObject类是所有能够处理signal(信号)slot)和事件的Qt对象的基类
  • 原形:QObject :: QObject ( QObject *parent=0, const char *name = 0)
  • 在QObject的原型函数中,如果 parent为0,则构造一个无父的对象,如果对象是一个组件,则它就会成为顶层的窗口

    QObject类的继承树

这里是引用

二、Qapplication类

Qapplication类负责GUI应用程序的控制流和主要的设置。它包括主事件循环体,负责处理调度所有来自窗口系统和其它资源的事件,处理应用程序的开始、结束及会话管理。对于一个应用程序来说,建立此类的对象是必须的。QApplication类是QObjetc类的子类。

Qapplication类中相关的方法

功能方法
系统设置font()、setFont()、desktopSettingAware()
事件处理exec()、exit()、quit()、postEvent()、processEvent()
图形用户界面风格stytle()、setStyle()、polish()
颜色使用colorSpec()、setColorSpec()、qwsSetCustomColors()
文本处理SetDefaultCodec()、translate()
窗口部件mainWidget()、setMainWidget()、focusWidget()
对话管理isSeddionRestord()、sessionId()
线程相关lock()、unlock()、wakeUpGuiThread()

三、Qwidget 类

QWidget的英文翻译为:子类化 ,部件

Qwidget类是所有用户接口对象的基类,它继承了QObject类的属性。用户接口对象也可以称为组件,是用户界面单位组成部分,它们不仅可以把自己绘制在终端屏幕上,而且也可以对键盘、鼠标及从窗口系统发送过来的事件进行处理。
QWidget有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能,如QPushButton、QListBox等都是它的子类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt的三个基类QObject、QApplication和QWidget 的相关文章

  • pyqt 控件焦点_PyQt5 之Qwidget控件

    一 常用API 1 大小与位置 xff1a x 相对于父控件的位置 xff0c 顶层控件 没有父控件 则相对于桌面的x位置 y 相对于父控件的y位置 顶层控件 没有父控件 则相对于桌面的y位置 pos x和y的组合 QPoint x y w
  • python-opencv报错:QObject::moveToThread: Current thread

    报错 xff1a QObject moveToThread Current thread 0x55ab2a343120 is not the object s thread 0x55ab2a4f8820 Cannot move to tar
  • Qt自定义QWidget

    Qt自定义QWidget 实例1 电池 实例2 plot绘图 实例3 plot按比例绘图 实例1 电池 promotion pro QT core gui greaterThan QT MAJOR VERSION 4 QT widgets
  • Connect was not declared in this scope

    QT程序中的事件机制是通过SIGNAL SLOT 信号 槽 来实现的 创建一个信号与槽的连接就是使用connect方法 它是QObject类下面的一个静态方法 基本上 所有的QT对象的基类都是QObject 所以 在非QObject的派生类
  • Qt之右键菜单实现

    最近在看C GUI Qt4部分其中有个例子对于扩展一个应用程序提供一个上下文菜单 Qt中的部件的弹出菜单 ContextMenu 依据ContextMenuPolicy的值的不同 有四种形式 一 默认菜单 此时 ContextMenuPol
  • QT中学习Opengl---(GLSL简单的使用)

    前言 本文的代码是 LearnOpenGL 中对应代码 这里提供学习 大家喜欢的可去官方网站去看看 https learnopengl cn readthedocs io zh latest https learnopengl cn rea
  • 如何在 Qt 中制作可展开/可折叠的部分小部件

    我想在 Qt 中创建一个具有以下功能的自定义小部件 它是一个容器 它可以填充任何 Qt 布局 它可以在任何 Qt 布局内 按钮允许垂直折叠 折叠内容 因此只有按钮可见 所有包含的布局都是不可见的 上一个按钮允许将其再次展开 展开到布局内容的
  • Qt 4.4:禁用接收鼠标事件的小部件

    正如标题所示 有没有办法让禁用的小部件接收鼠标事件 我在用着QWidget setEnabled 用于更改小部件的外观 但我仍然想接收它们的鼠标事件 提前致谢 您可以使用相关小部件上的事件过滤器来执行此操作 看QObject eventFi
  • 将 QWidget 渲染为 QImage 丢失 alpha 通道

    我有一个简单的 Qt 小部件 它是QLabel应用了简单的 CSS 样式 样式的重要部分是圆形边框 QString css border style solid border width 3px border radius 7px 它在屏幕
  • 如何将 Python 控制台输出重定向到 QTextBox

    我正在开发一个用于重新编译 Linux 内核的 GUI 为此 我需要从 Python 实现 4 5 个 Linux 命令 我使用 Qt 作为 GUI 设计器 我已经成功地执行了使用命令os system 称呼 但输出是在控制台获得的 真正的
  • 调整 QWidget 大小时忽略最小尺寸

    有没有办法让 QWidget 及其任何子类 完全忽略其最小大小 我想要的是 QPushButton 在尺寸太小时时被切断 而不是阻止窗口调整大小 默认行为 您可以使用 button setSizePolicy QSizePolicy Ign
  • Qt-fy 现有枚举与 Qt 元数据一起使用

    假设我有一个现有的enum X A B 并希望将其与 Qt 元数据一起使用 例如QMetaObject QMetaEnum QMetaObject meta FsxSimConnectQtfier staticMetaObject for
  • 如何获取当前的QApplication?

    我试图使用 pyQt5 获取对当前 QApplication 对象的引用 但找不到该函数 我关于 pyQt get current QApplication 的搜索显示了有关如何创建 QApplication 的结果 所以我的问题是 是否存
  • 如何仅查找 Qt Designer 中显示的小部件的属性?

    我怎样才能找到只有那些属性小部件的 例如 QPushButton Qt Designer 在属性编辑器中显示的内容 我可以使用以下代码找到所有属性 包括 Qt Designer 中未显示的属性 Print all available pro
  • 无法解析的外部符号“public:virtual struct QMetaObject const * __thiscall Parent

    我从 QObject 继承了一个类 class Parent public QObject Q OBJECT QObject cl public Parent QObject parent 0 QObject parent cl NULL
  • 将 QStackedWidget 的大小调整为打开的页面[重复]

    这个问题在这里已经有答案了 我想要我的QStackedWidget调整到打开页面的大小 我在第一页附加了很多小部件 但其余页面只有一个按钮 所以它们保持这么大 第一页还可以 我怎样才能让我的QStackedWidget获得正在查看的页面的大
  • 保存小部件的屏幕截图

    我想保存 Qt 中小部件的屏幕截图 我创建了以下应该可以工作的代码 QWidget activeWidget getActiveWidget a function that returns the current widget if act
  • QT:将我的域对象基于 QObject 是一个好主意吗?

    我对于将 QT 框架与 C 结合使用相当陌生 我想知道 将我的域类基于 QObject 是一个好主意吗 或者我应该只对层次结构中较高的类执行此操作 更接近用户界面级别 QT文档对此并不清楚 摘自QT文档 元对象系统是 C 的扩展 使该语言更
  • 当用户调整 QMainWindow 大小时如何分配回调?

    我既无法在 QMainWindow 上找到类似教程的调整大小事件方案 也没有在 Qt 设计窗口的下拉菜单中看到任何用于添加调整大小事件的选项 我是 Qt 新手 我想为 QMainWindow 调整大小事件编写一个槽函数 有这样的活动吗 我怎
  • 没有什么可以帮助解决 Qt 中的“对 vtable 的未定义引用”

    我无法构建此错误 未定义对 CustomUndoStack 的 vtable 的引用 这是代码 class CustomUndoStack public QObject Q OBJECT public int main int argc c

随机推荐

  • ubuntu20.04跑PL-VINS

    PL VINS源码 xff1a https github com cnqiangfu PL VINS 编译时报错 catkin make Ceres报错 报错信息 CMake Error at usr local lib cmake Cer
  • unubtu20.04环境下inter d435i相机标定遇到的一些问题

    前言 最近拿到深度相机inter d435i 但是在ros开发中遇到了一些问题 这里我就将我遇到的问题跟解决的办法讲一下 我采用的是双系统ubuntu系统环境下开发的 并不是基于虚拟机开发的 先提一下 问题1 select timeout报
  • 页面报错:Invalid prop: custom validator check failed for prop “percentage“.

    问题 xff1a 使用element 组件库的el progress组件 xff0c 页面正常渲染 xff0c 但是控制台有报错 xff1a 出现问题代码如下 xff1a lt el progress percentage 61 34 en
  • 将mysql中的数据导入到hdfs中

    将mysql中的数据导入到hdfs中 mysql中的数据导入到hdfs中 xff0c 需要借助一个工具sqoop完成 xff0c sqoop的安装和简介请点大数据必学框架 sqoop 一 配置sqoop环境 为了能够让sqoop识别到hdf
  • 串口通信——串口接收数据,发送数据

    十六进制 HEX hexadecimal heks des ml 十进制 DEC decimalism 39 desim liz m 二进制 BIN binary ba n ri 八进制 OCT octonary kt n ri 波特率计算
  • 大疆半固态激光雷达Horizon的优缺点

    原文链接 xff1a 大疆激光雷达 xff0c 车厂为何不爱 xff1f 优点 xff1a 1 成本低 xff0c 可以量产 xff1a 2020 年 xff0c 在当年的 CES 展会上 xff0c 大疆 Livox 发布了 Horizo
  • Ubuntu18.04切换Python版本

    转载自 xff1a Ubuntu18 04 切换 Python 版本 前言 Ubuntu18 04 默认安装了两个版本 Python2 7 和 Python3 6 查看可用二进制文件 ls usr bin python 过程 使用 upda
  • 解决ubuntu1604联网以后网页还是打不开的问题

    ubuntu系统连接正常的联网的网线但是网页还是打不开 xff0c 所有联网的软件也打不开 xff0c 在路由器工作正常的情况下 xff0c 可能出现的问题为dns解析异常 xff0c 关于dns解析异常的解决方法 xff1a 这段时间在u
  • 操作系统--线程并发实验三

    操作系统 线程并发实验三 一 实验目的 线程的运行时并发的 xff0c 如果互不相干的线程交替运行不会产生问题 但是如果有共享资源 合作关系的线程之间由于交替运行可能产生问题 xff0c 例如偶尔出现程序的结果不正常 理解临界区的概念 xf
  • 安装OOQP遇到问题

    Ubuntu20 04 安装OOQP遇到问题 OOQP安装 OOQP安装 MA27是OOQP的依赖 在安装MA27时容易出现找不到fortran77等情况 xff0c 在配置这些环境时容易出现其他错误导致系统环境出现问题 选择其他版本的安装
  • 15个好用的百度网盘搜索引擎

    15个好用的百度网盘搜索引擎 前言 分享 15 个好用的百度网盘搜索引擎 xff0c 方便大家搜索百度云网盘分享的资源文件 挑出来这 15 个效果还不错 xff0c 都可以正常使用 挑选标准 xff1a 免费 xff0c 大部分不登录可用
  • 操作系统死锁实验六

    操作系统死锁实验六 一 实验目的 如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件那么该进程集合就是死锁的 产生死锁的必要条件 xff1a 互斥 xff1b 请求资源和保持已获得资源不释放 xff1b 不可抢占
  • 修复 Windows11 打不开 Windows安全中心

    修复 Windows 打不开 Windows安全中心 遇到以上问题我们直接上解决方法 win10的话直接WIN 徽标 43 X键 win11 菜单栏输入 PowerShell 管理员启动 管理员权限打开PowerShell xff0c 依次
  • webstorm/idea 配置less环境

    看了一下发现大多数教程少了最关键的一步 如果这个lessc不能自动识别的话 需要手动寻找lessc cmd的路径 xff0c 可以在终端中通过 where lessc查找 复制lessc cmd位置就可以了
  • 自定义http钩子

    简单创建一个自定义http钩子函数 span class token keyword import span span class token punctuation span useState span class token punct
  • React Redux 工具包 Redux Toolkit 初步学习

    Redux 工具包 xff08 Redux Toolkit xff09 的目标是帮助简化常见的 Redux 用例 它并不是你想要用 Redux 做的所有事情的完整解决方案 xff0c 但它应该使你需要编写的许多与 Redux 相关的代码变得
  • 卫星导航模拟器GSS7000测试NTRIP RTK--以Ublox F9P 为例.rtklib原始观测量解算固定解FIX

    GSS7000 Ntrip 测试指南 Ntrip Networked Transport of RTCM via Internet Protocol 通过互联网进行RTCM网络传输的协议 是在互联网上进行RTK数据传输的协议 Ntrip是一
  • Ubuntu网络调试助手安装后无法打开

    转载自 解决Ubuntu网络调试助手安装后无法打开问题
  • 微机原理与接口技术之8060微处理器

    微机原理与接口技术之Intel8060微处理器 这篇bolg主要讲的是8060微处理器的内部结构 xff0c 引脚功能以及总线时序 8086内部结构 xff1a 8086CPU是由执行指令部件EU和总线接口部件BIU两部分注组成 1 EU部
  • Qt的三个基类QObject、QApplication和QWidget

    一 Qt介绍 1 概述 Qt是一个跨平台的C 43 43 图形用户界面应用程序框架 由挪威TrollTech公司出品 1996年Qt进入商业领域 xff0c 它已经成为全世界范围内数千种成功的应用程序的基础 Qt也是流行的Linux桌面环境