如何仅从类名获取 QMetaObject?

2024-03-24

我需要获取 QMetaObject 来动态创建对象实例。 如果我知道该对象,那么 QObject::metaObject() 就是我所需要的。如果我知道该类,那么我可以使用 QObject::staticMetaObject 变量。但是,如果我只知道类名作为字符串值,我应该使用什么?


你要求一个QMetaObject,但说这是为了创作目的。如果这就是你所要做的一切Q元类型 http://doc.qt.nokia.com/latest/qmetatype.html可能正是您所需要的。你必须用它注册你的类型,但我很确定 QT 没有一个主列表QMetaObject默认情况下,它只是浮​​动的,因此无论您做什么,这样的注册都是必要的。

QMetaType::Type id = QMetaType::type("ClassName");
if(id == 0)
    throw something_or_whatever;
ClassName* p = (ClassName*)QMetaType::construct(id);
//act on p
QMetaType::destroy(id, p);

粗略浏览一下文档并不清楚内存如何p已分配,但我假设destroy照顾那个?使用风险自负。

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

如何仅从类名获取 QMetaObject? 的相关文章

  • Visual Studios 2015 中的“恢复 NuGet 包”没有执行任何操作

    我将解决方案从 SVN 拉入 Visual Studios 2015 代码中的一些 使用 引用出现错误 因此我尝试在右键单击 解决方案 中的解决方案时运行 恢复 NuGet 包 选项探索者 这没有任何作用 我必须手动进入 nuget 管理器
  • getline 之后返回到文件开头

    所以我已经从文件中读取了所有行 while getline ifile line logic 其中 ifile 是 ifstream line 是字符串 我的问题是我现在想再次使用 getline 并且似乎无法返回到文件的开头 因为运行 c
  • 如何通过覆盖 MSBuild 目标来防止外语资源生成?

    我正在致力于减少大型 C ASP NET 解决方案的编译时间 我们的解决方案使用通常的 resx 文件方法翻译成大约十几种外语 这些资源文件的解析和编译极大地减慢了我们的编译时间 并且是日常的挫败感 我知道可以创建自定义资源提供程序并摆脱
  • Winform DatagridView 数字列排序

    我只使用一个简单的 DataGridView 来保存一堆数据 有趣的是 我在特定列中有小数 但是当按小数列排序时 它的排序是错误的 例如 起始顺序可能是 0 56 3 45 500 89 20078 90 1 56 100 29 2 39
  • 如何通过 libwebsocket 发送异步数据?

    我正在将 Warmcat 的 libwebsocket C 库用于小型 Websocket 服务器 我已经启动并运行了这些示例 并且可以发送数据以响应从 websocket 接收数据 例如回显发送的反向字节 但是 我无法弄清楚如何在不使用
  • C++ 指针和对象实例化

    这有效 MyObject o o new MyObject 而这并不 MyObject o new MyObject Why 关键词new 返回一个指针 http msdn microsoft com en us library kewsb
  • 如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序

    这是一个关于编程的概念问题 总而言之 我有两个数组 向量 我需要对一个数组 向量进行排序 并将更改传播到另一个数组 向量中 这样 如果我对 arrayOne 进行排序 则对于排序中的每个交换 arrayTwo 也会发生同样的情况 现在 我知
  • asp.net core http 如果没有内容类型标头,则删除 `FromBody` 忽略

    我在 http 中使用 bodyDELETE要求 我知道目前删除主体是非标准的 但是允许的 使用时出现问题HttpClient它不允许删除请求的正文 我知道我可以使用SendAsync 但我宁愿让我的 API 更加灵活 我希望这个机构是可选
  • 检查两个函数或成员函数指针的签名是否相等

    我编写了一些代码来检查自由函数的签名是否等于成员函数的签名等 它比较提取的返回类型和函数参数 include
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • 本地时间的内存需要释放吗?

    void log time t current time 0 tm ptm localtime current stuf 只是想确定 我是否需要在方法结束时释放 tm 指针分配的内存 不 你不应该释放它 该结构是静态分配的 检查文档 htt
  • 使用 OleDbCommand / OleDbDataAdapter 读取 CSV 文件

    我不明白为什么 但是当我使用 OleDbDataAdapter 或 OleDbCommand 读取 CSV 文件时 在这两种情况下 生成的数据结构良好 它识别文件头中的列 但行数据都是空字符串 我之前已经成功进行过多次 CSV 处理 因此我
  • 冒号在c中起什么作用?

    我在课堂上得到了这个例子 但我不确定它的作用 我知道冒号添加了一个位字段 但我仍然不确定这个问题 a b gt 0 3 1 运算符称为条件运算符 If b值为 gt 0 价值3被分配给a否则值1被分配给a 以 Kernighan Ritch
  • linq where 子句和 count 导致 null 异常

    除非 p School SchoolName 结果为 null 否则下面的代码将起作用 在这种情况下 它会导致 NullReferenceException if ExistingUsers Where p gt p StudentID i
  • 从具有相同属性的另一个对象创建对象

    我有一个 C 对象 可以说有 20 个属性 它是数据契约的一部分 我还有另一个具有类似属性的业务实体 我想从响应对象中填充该实体 除了将一个对象的每个属性分配给另一个对象的相应属性之外 还有其他方法可以做到这一点吗 是的 看看自动映射器 h
  • 如何释放字符串未使用的容量

    我正在程序中处理很多字符串 这些字符串数据在读入我的程序后的整个生命周期内都不会改变 但由于 C 字符串保留了容量 因此浪费了大量肯定不会被使用的空间 我尝试释放这些空间 但没有成功 以下是我尝试过的简单代码 string temp 123
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • 为什么 C++ 标准没有将 sizeof(bool) 定义为 1?

    Size of char signed char and unsigned char由 C 标准本身定义为 1 个字节 我想知道为什么它没有定义sizeof bool also C 03 标准 5 3 3 1 说 sizeof char s
  • 在 C# 中使用自定义千位分隔符

    在显示字符串时 我尝试不使用 字符作为千位分隔符 而是使用空格 我想我需要定义一种自定义文化 但我似乎做得不对 有什么指点吗 例如 将 1000000 显示为 1 000 000 而不是 1 000 000 no String Replac
  • 如何根据当前日期时间发现财政年度?

    我需要基于当前或今天的日期时间的财政年度 假设我们认为今天的日期是10 April 2011 那么我需要输出为Financial Year 2012在某些情况下 我需要以短格式显示相同的输出FY12 我想以两种方式显示 在我们的要求中 考虑

随机推荐

  • 如何在 pygame 中有效地遮盖表面

    我按照建议掩盖 pygame 中的表面nkorth https stackoverflow com users 685933 nkorth回答问题有没有办法只在掩码中进行位块传输或更新 https stackoverflow com a 1
  • 我什么时候应该使用 stdClass,什么时候应该在 php oo 代码中使用数组?

    在工作中的大规模重构期间 我希望引入 stdClass 作为从函数返回数据的一种方式 并且我正在尝试找到非主观论据来支持我的决定 在什么情况下最好使用其中一种而不是另一种 使用 stdClass 而不是数组有什么好处 有人会说函数必须尽可能
  • 降低滚动视图中平滑滚动的速度[重复]

    这个问题在这里已经有答案了 我有一个滚动视图 我执行 smooth scroll using smoothScrollBy 一切正常 但我想更改平滑滚动的持续时间 平滑滚动发生得非常快 用户不明白发生了什么 请帮助我降低平滑滚动速度 简单的
  • 通过蓝牙打印机 Android 打印 Pdf 文件

    在我的项目中需要通过蓝牙打印机打印Pdf文件 我写了一个代码通过pdf打印 它对于文本来说很好 但我想在蓝牙打印机上打印PDF文件 我的打印文本的java代码 Override public void onCreate Bundle sav
  • 如果类包含基类的成员,编译器可以利用空基优化吗?

    Consider struct base struct child base 众所周知sizeof child 可以通过应用 1空碱基优化 然而现在 考虑一下 struct base struct child base base b 编译器
  • 在jqgrid的列中添加图像

    我想在 jqgrid 的第一列中显示一个小图像 以显示从数据库获取的所有数据 jquery tableName jqgrid colNames colModel width 25 name someValue index somevalue
  • 访问数组数组内数组的行?

    说我有 H array a array b array c a 1 2 3 4 5 6 11 22 33 44 55 66 row 1 of H 0 111 222 333 444 555 666 b 7 8 9 0 1 2 77 88 9
  • 限制 JTextField 中输入的长度不起作用

    我试图限制用户可以在文本字段中输入的字符的最大长度 但它似乎不起作用 这是代码 text2 new JTextField Enter text here 8 我做错了什么吗 如何才能使限制正常工作 您当前的代码没有设置最大长度 而是定义可见
  • BroadcastReceiver 与 WakefulBroadcastReceiver

    有人可以解释一下两者之间的确切区别是什么BroadcastReceiver https developer android com reference android content BroadcastReceiver html and W
  • WPF - 如何在任一时间仅扩展一个扩展器

    我有一个带有一组扩展器的 StackPanel 如何设置它以便在任何时候都只扩展扩展器 Cheers AW 我真的不想这样做 因为它需要将代码 C 放在窗口文件后面的类中 我试图通过使用 ViewModels 等来完全避免这种情况 理想情况
  • 如何在 Bootstrap 4 中均匀分布导航栏元素

    为网站构建引导程序导航 我在弄清楚如何最好地间隔导航栏上的导航链接元素时遇到了一些麻烦 并继续在移动设备上看起来不错 我的导航栏代码是
  • Angular (v5) 服务正在 APP_INITIALIZER 承诺解析之前构建

    我期待 Angular 等到我的loadConfig 函数在构建其他服务之前解析 但事实并非如此 应用程序模块 ts export function initializeConfig config AppConfig return gt c
  • 如何在 Rails 中订购?

    我正在开发一个小型博客引擎 有以下表格 博客和消息 博客有一个外键 last message id 因此我通过调用 blog last message 来访问博客中的最 后一条消息 我有以下代码可以使其工作 class Blog lt Ac
  • 如何调用显式实现的接口方法的基类实现?

    我试图调用在基类上实现的显式实现的接口方法 但似乎无法让它工作 我同意这个想法很难看 但我已经尝试了我能想到的所有组合 但无济于事 在这种情况下 我可以更改基类 但我想我会问这个问题来满足我的一般好奇心 有任何想法吗 example int
  • pytz时区转换性能

    我有来自数据库的超过 100 万个日期时间对象 我想将它们中的每一个转换为时区感知的日期时间对象 这是我的辅助函数 conv tz dt is python datetime object src tz and dest tz and py
  • 两个相同查询(不同参数)的 MySQL InnoDB 死锁问题

    我有下表 CREATE TABLE IF NOT EXISTS task id int 10 unsigned NOT NULL AUTO INCREMENT job id int 10 unsigned NOT NULL COMMENT
  • JavaFX 2 ComboBox setValue() 不设置 CB 文本

    我的问题是 使用 setValue 选择后 所选的 ComboBox 项目文本在屏幕上不可见 以下是一些细节 将项目添加到我的 CB combo getItems add a combo getItems add b combo getIt
  • Android WebView 更新后卡在放大状态

    我们有一个使用 Android WebView 的应用程序 但更新到 v99 或 v100 后 它显示网页内容放大 更新后重新启动手机可以解决该问题 但只是暂时的 一段时间后 它将再次显示放大的网页 有没有人遇到过这个问题 是不是我们做错了
  • 关于查询而不是服务,最好、最全面的 SOAP 库是什么

    我的 google fu 并没有为 java 中的 SOAP 库提供非常有希望的结果 它们主要用于设置 SOAP 服务 因为我需要与这样的服务进行通信 我意识到 SOAP 只是构建和解析 XML 的问题 但理想情况下我希望对象映射和处理透明
  • 如何仅从类名获取 QMetaObject?

    我需要获取 QMetaObject 来动态创建对象实例 如果我知道该对象 那么 QObject metaObject 就是我所需要的 如果我知道该类 那么我可以使用 QObject staticMetaObject 变量 但是 如果我只知道