在 Qt 中检查 QObject 派生类类型的正确方法

2024-04-17

假设我有两门课:

class A : public QObject {};
class B : public QObject {};

那我去

QObject *a = new A();
QObject *b = new B();

现在,我如何确保“a”是A类的实例,而“b”是B类的实例?

目前我做这样的事情:

if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...

有没有更好的办法?


您可以使用qobject_cast<MyClass*>(instance)在 QObject 派生类上并检查返回值。如果instance无法投射到MyClass*,返回值将为 NULL。

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

在 Qt 中检查 QObject 派生类类型的正确方法 的相关文章

  • 如何在 Qt 中使用 QTabWidget 创建多行选项卡?

    我尝试使用 QTabWidget 创建一个多行选项卡 如下所示 我也设置了tabPosition 南但我不能有多行选项卡 因为所有选项卡都是水平的 所有选项卡都在一行中 而不是多行 这些是我得到的标签 我读过了这个帖子 https stac
  • 安装 PyQt

    我正在尝试在我的 mac 上安装 PyQt 以便可以安装 python Ghost 我已经安装了Qt和SIP 我已经下载了 PyQt 但是当我运行时 python configure ng py 我收到以下错误 Error Use the
  • 精度和规模有什么区别?

    Oracle中精度和小数位数有什么区别 在教程中 他们通常在创建主键时将比例保留为空并将精度设置为 6 精度和规模代表什么 精度 4 尺度 2 99 99 精度 10 小数位数 0 9999999999 精度 8 标度 3 99999 99
  • 如何清除父Widget中的所有Widget?

    我正在使用构造函数QWidget QWidget parent 这个父窗口部件包含很多子窗口部件 我需要在运行时清除父级的所有子级小部件 我怎样才能做到这一点 之前的答案是错误的 你不能使用findChildren删除一个部件的子部件 因为
  • 如何在 PyQt 应用程序退出时禁用清除剪贴板?

    我有一个简单的 PyQt4 应用程序 请参阅下面的代码 它揭示了一个问题 如果我从QLineEdit并将其复制到剪贴板 然后我只能在应用程序运行时将其粘贴到另一个应用程序 似乎在退出时 PyQt 应用程序会清除剪贴板 因此我无法在应用程序关
  • 为树视图创建 Qt 模型

    我正在用 Qt 使用 C 编写一个应用程序 我需要在树视图中表示一个对象结构 实现此目的的方法之一是为此创建一个模型 但在阅读有关该主题的 Qt 文档后我仍然很困惑 我的 结构 非常简单 有一个Project持有的物体Task中的对象std
  • 什么是 lub(null, Double)?

    表15 25 B http docs oracle com javase specs jls se8 html jls 15 html jls 15 25在 JLS 版本 8 中表示条件表达式的类型 true null 0 0 is lub
  • 创建 QT 应用程序作为 Windows 上现有基于控制台的应用程序的 GUI

    我正在尝试使用 Qt 为现有应用程序设置一个 GUI 该应用程序旨在在 Windows 命令行中运行 这不仅仅是运行应用程序system 命令 但我需要通过命令行与现有应用程序交互 The system 当我启动现有的可执行文件时 命令会阻
  • 无法在Mac上安装qwt设计器插件

    我无法在 Mac 上安装 qwt 设计器插件 我已经下载了 v 6 1 3 并成功完成了 qmake make 和 sudo make install 问题是 在 usr local qwt 6 1 3 lib 下 我只有文件 qwt fr
  • Qt同步QNetworkAccessManager获取

    执行同步 QNetworkAccessManager get 的正确方法是什么 The qt wiki http qt shoutwiki com wiki How to wait synchronously for a Signal in
  • Qt3D 是 Qt5 的一部分吗?

    我在windows中安装了Qt5库 但Qt助手中没有关于Qt3D的文档 Qt3D 是 Qt5 的一部分还是已从发布版本 5 中删除 是的 Qt 3D 成为标准 Qt 库Qt 5 7 发布 http blog qt io blog 2016
  • 为什么 Haskell 类型签名声明有多个箭头?

    抱歉 这句话措辞不好 但很难描述 我想我会跳到这个例子 add Integer gt Integer gt Integer add x y x y 为什么 Integer gt Integer gt Integer 代替 Integer I
  • 在 C# 中将字符串转换为类型[重复]

    这个问题在这里已经有答案了 如果我收到一个包含类名称的字符串 并且我想将该字符串转换为真实类型 字符串中的类型 我该怎么做 I tried Type GetType System Int32 例如 它似乎有效 但是当我尝试使用自己的对象时
  • 在QT中以不同的时间间隔更新GUI [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道如何在QT中以不同的时间间隔更新GUI 最好的是我可以控制时间间隔 我知道 QTimer 可以在同一时间间隔更新 GUI 但我
  • 如何将父小部件焦点重定向到子小部件?

    有一个简单的类叫做FloatingPointPropertyEditor 它继承的是QWidget并包含一个QLineEdit带有浮点数验证器的实例 class FloatingPointPropertyEditor public QWid
  • 删除行时 QModelIndex 变得无效

    我正在子类化QAbstractItemModel显示项目QTreeView 并且在这个子类中 projectModel 我有一个功能可以删除树视图中当前选定的索引 Component是用于表示模型所有成员的类 void projectMod
  • 如何使小部件溢出以使滚动条出现在 Qt 中?

    我的小部件的结构是 QWidget 定制为带有圆角边框的面板 要在边界内包含一个带有滚动条并带有边距的区域 然后我将其放入其中 QScrollArea 与 QVBoxLayout 垂直添加内容 然后我在其中添加一系列 标题间距为 0 的 Q
  • 从 Qt 中的半透明小部件中擦除绘制区域

    我面临着必须擦除 Qt 小部件上先前绘制的区域的问题 基本思想是 用户通过单击并拖动鼠标来选择屏幕的一个区域 并在所选区域上绘制一个矩形 标题 class ClearBack public QWidget Q OBJECT public e
  • 要统一的类型变量出现在类型中

    我有一个函数可以从两个列表重建一棵树 我返回所有分支的列表 但收到一个我不明白的错误 但我认为这与返回类型有关 错误是这样的 Can t unify a with a list Type variable to be unified occ
  • Qt进度条不是递增的,而是跳跃的

    我遇到 Qt GUI 进度条问题 问题是 对于较大的文件 350MB 及以上 进度条在开始时按预期工作 然后它似乎有一段时间没有移动 然后在工作完成时突然跳到 100 我不确定为什么会发生这种情况 我想知道是否有一些 Qt 之谜导致了这种情

随机推荐

  • 沙发底座中存储的键值是什么

    我是 couchbase 的新手 我对 couchbase 中的键值存储有一些疑问 通常我们将数据存储为文档 我需要澄清以下疑问 文档类型和键值类型有什么区别 如何实现键值存储 你能用一个小例子解释一下吗 存储为键值有什 么好处 文档类型和
  • 获取 ASP.NET 中所有活动会话的列表

    我知道使用以下代码行登录了哪个用户 Session loggedInUserId userId 我的问题是如何知道哪些用户登录了 以便其他用户可以看到当前登录的用户 换句话说 我可以获得所有活动的 loggedInUserId 会话吗 我没
  • xdoc 查询的 Select 语句

    我正在尝试在 xml 语句中向 Messages 添加子类别 有没有办法可以做到这一点GroupMessages gt Message gt GroupMessage var groups xDoc Descendants Group Se
  • 在 iPhone 上如何实现具有透明度的圆角矩形视图?

    许多应用程序在运行耗时的操作时都会弹出带有圆角的透明视图和 ActivityIndi cator 这种舍入是如何完成的 是否可以仅使用 Interface Builder 来完成 因为我想在很多地方使用类似的东西 或者 我应该使用带有圆角矩
  • dnorm 是如何工作的?

    我对统计和 R 很陌生 也许这是一个非常微不足道的问题 但我不太明白这是如何工作的 假设我使用dnorm 5 0 2 5 这意味着什么 我看到一些资源 他们告诉我这个函数计算密度曲线中点的高度 现在我再次读到 在连续分布中 数字的确切概率为
  • 将 collections.namedtuple 与 ProcessPoolExecutor 一起使用在某些情况下会陷入困境

    gt gt gt import concurrent futures gt gt gt from collections import namedtuple gt gt gt 1 Initialise namedtuple here gt
  • cron 的替代品? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有谁知道 cron 有一个好的替代品吗 我想要一些可以在不同时区运行的东西 您可以考虑Quartz http www opensymphony
  • SFML 2.1 架构 x86_64 错误的未定义符号

    我最近安装了 SFML 2 1 并尝试从终端编译和运行 而不是 Xcode 他们在其网站上有示例程序http www sfml dev org tutorials 2 0 start linux php http www sfml dev
  • 使用 CSS 选择器制作棋盘图案

    我有一个 div 元素列表 当前使用 CSS 浮动在两列中显示 我想 替换 这些元素的边框颜色 我在引号中使用了交替 因为我真正想要的是每个 行 中的两个 div 交替 下面是我想要的最终状态的示例 1blue 2green 3green
  • 集群环境下的Spring Singleton

    正如中所讨论的this https stackoverflow com questions 1194129 singleton in cluster environmentpost 不适合使用单例聚集的环境 因为不同 JVM 中有多个单例对
  • 卡尔曼滤波器和内部状态变量的质量

    我正在尝试为 Android 开发运动检测应用程序 应用程序应该能够跟踪手机在空间中的运动并将其映射到计算机屏幕上的运动 我正在使用 3 轴加速度计 由于数据非常嘈杂 我正在使用卡尔曼滤波器 内部状态是 6 个分量向量 speed x sp
  • PHP 字符串分割

    我需要将一个字符串拆分为 2 2 3 3 个字符的块 并且可以通过使用 unpack 在 Perl 中执行此操作 unpack A2A2A3A3 thisisloremipsum 然而 相同的函数在 PHP 中不起作用 它给出以下输出 Ar
  • Google 地点详细信息 API 中的语言不一致

    我在我的服务器上使用 Google Place Details API 来存储有关某个地点的信息 使用placeId由客户发送 我面临着有关结果语言的问题 当该地点是城市或该城市中的地址时 结果的语言会有所不同 即使在查询中指定了语言也是如
  • Excel VBA onkey 宏可在另一个宏运行时工作

    我有一个宏 可以让您使用箭头键移动标记的单元格 这是将其向下移动的代码 Sub MoveMarkedDown Dim noDo As Boolean With myMarkedCell Select Case Row Case Is gt
  • VSCode 中是否有快捷方式可以在调试 REPL 中执行当前行或选择?

    我正在使用 Python 进行开发 并且通常在集成终端中运行代码Shift Enter 不过调试的时候过程似乎比较复杂 我需要复制代码 将焦点移至调试 REPL Ctrl Shift Y 粘贴 运行并将焦点移回编辑器 有没有更简单的方法来做
  • pip3 安装不起作用 - 没有名为“pip._vendor.pkg_resources”的模块

    当尝试安装 Python 3 的软件包 在 Ubuntu 中 时 使用pip3 install packageName or sudo pip3 install packageName 我收到以下错误消息 Traceback most re
  • 从数据库上传模型时丢失数据注释

    我有一个大数据库现有数据库可以与之通信 并且我首先使用 EF 5 0 数据库 我遇到的问题是 如果我创建任何数据装饰 例如 stringlength 50 在课堂上 然后上传数据库 当我 从数据库上传 时 所有数据注释都消失了 我该怎么做才
  • 如何禁用/更改 ion-nav-view 中视图之间的动画

    我开始了一个 Ionic 选项卡项目 这个项目带来了视图之间的默认动画 进入时从左到右 返回时从右到左 我想通过指定两种类型的视图动画来保留对此的控制 从下到上 没有动画 到目前为止 我尝试按如下方式禁用动画 正如建议的那样离子论坛主题 h
  • Rails:渴望加载 as_json 包括

    render json gt playlist gt playlist description songs gt playlist songs as json include gt playlist songs gt only gt id
  • 在 Qt 中检查 QObject 派生类类型的正确方法

    假设我有两门课 class A public QObject class B public QObject 那我去 QObject a new A QObject b new B 现在 我如何确保 a 是A类的实例 而 b 是B类的实例 目