QT笔记- 队列信号槽绑定与自定义类型

2023-11-05

说明

        使用Qt::QueuedConnection队列绑定时,某些默认非队列绑定时可用的自定义类型此时会不可用,如自定义枚举类型。此错误Qt不会报错和提示。

解决

        在绑定前使用qRegisterMetaType<Type>("Type")对类型名进行注册即可。

示例

        信号:

singnals:
void state_(Glongine::StateFlag, int a);

        绑定: 

qRegisterMetaType<Glongine::StateFlag>("StateFlag");
glongine->connect(glongine, &Glongine::state_,
                            this, &MainWindow::_state, Qt::QueuedConnection);

        注意:函数qRegisterMetaType()符号"<>"中的类型名必要时需要用作用域符号进行指明,直到Qt代码可识别。而双引号中的类型名则必须是名称本身,不能使用作用域,如下示例是错误的,绑定的槽将不会被触发,Qt不会报任何错误:

qRegisterMetaType<Glongine::StateFlag>("Glongine::StateFlag");
glongine->connect(glongine, &Glongine::state_,
                            this, &MainWindow::_state, Qt::QueuedConnection);

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

QT笔记- 队列信号槽绑定与自定义类型 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile

随机推荐

  • 红黑树学习

    红黑树的是一种特殊的二叉搜索树 有如下性质 性质1 节点是红色或黑色 性质2 根是黑色 性质3 每个叶节点是黑色的 性质4 每个红色节点的两个子节点都是黑色 从每个叶子到根的所有路径上不能有两个连续的红色节点 性质5 从任一节点到其每个叶子
  • 项目同时使用两个mysql驱动_SpringBoot配置双数据源(一个项目同时连接操作两台数据库)...

    本文章使用的是持久化框架为JPA 所以数据源也是基于JPA 采用的是SpringBoot2 SpringDataJPA MySQL 双数据源 一 双数据源的适用场景 1 主从库分离 数据库读写分离 2 数据迁移 3 系统版本升级 数据库升级
  • session失效时间设置

    session失效时间设置 一 java代码 request getSession setMaxInactiveInterval 1800 秒为单位 二 web xml
  • 璀璨光滑【牛客】【题意解析+BFS+贪心】

    题目链接 中文题意 表面平静 实则暗藏玄机 而打开本题的突破口 也确确实实就在于题目的描述 也就是说 这张图的边的数目是确定的 并且这是一张连通图 而且图上的个点每个点连接出去的边的数目都是条 因为每个数都刚好只与个数在二进制位上差1 那么
  • 算力单位详解

    TOPS TOPS是Tera Operations Per Second的缩写 1TOPS代表处理器每秒钟可进行一万亿次 10 12 操作 与此对应的还有GOPS Giga Operations Per Second MOPS Millio
  • YOLOv5发布第六个版本,支持一键适配OpenVINO/OpenCV DNN部署

    YOLOv5发布了第六个版本 其它我不说 什么是开源精神 不是写个程序扔github就叫开源 而是持续不断改进 精益求精 不断演化版本 增加最有商业价值的功能 YOLOv5做到了 看看最新版本都有哪些新功能让开发者心动 新特性 首次发布支持
  • 基于升序链表的定时器及其简单应用

    Linux网络编程笔记 定时器 基于升序链表的定时器 这其实就是一个结点为 class util timer public util timer prev NULL next NULL 构造函数 public time t expire 任
  • 红队隧道应用篇之Burpsuite设置上游代理访问内网(五)

    为何要设置上层代理 Burp Suite设置上游代理的主要原因是为了拦截和修改来自浏览器的请求 当您在使用Burp Suite进行Web应用程序安全测试时 您可能希望模拟攻击者发送恶意请求 以测试应用程序是否能够防御这些攻击 使用上游代理可
  • C++中erase的用法

    erase一共三种用法 1 erase pos n 删除从下标pos开始的n个字符 比如erase 0 1 就是删除第一个字符 2 erase position 删除postion处的一个字符 position是一个string类型的迭代器
  • 面经-hangzhou

    目录 上篇 一 基础篇 网络基础 TCP三次握手 HTTP协议 浏览器输入URL过程 操作系统基础 进程和线程的区别 操作系统内存管理 Java基础 面向对象三大特性 数据结构 设计模式与原则 面试题 构造方法 初始化块 This 重写和重
  • C# 获取FormData数据

    通常的方法是你创建一个 FormData 对象 然后你使用append方法来加入任何额外的key和他们的值 就像这样 var form new FormData form append myName Robert 然后你只需使用XMLHtt
  • dataframe 判断是否为空的解决方式,即判断是否为NAN

    利用pd read table 读出来的数据 如果存在空值的 补充为 1 若x是dataframe中emp length列里面的其中一个值 判断其是否为空用什么 x is None 没起作用 len x 0 提示float 没有len np
  • IPSec的配置实现实验报告

    IPSec的配置实现 一 实验目的 二 实验环境 三 实验原理 四 实验步骤及结果 五 实验总结 一 实验目的 1 在Windows中配置 内置或者专有 IPSec 2 通过抓包工具抓取建立IPSec的协商密钥过程 和建立之后的加密通信数据
  • 浏览器禁用ajax,禁用浏览器缓存Ajax请求

    java period lang period OutOfMemoryError colon Java heap space解决办法 进入到tomcat bin目录下 编辑catalina bat 在这个文件最前面加入一句 set JAVA
  • ue4场景没阴影_UE4建筑室内可视化解决漏光和提高阴影质量的方法

    https zhuanlan zhihu com p 114539616 把建筑室内模型导入到UE4场景中 默认的情况如图01 在这个场景中只使用了定向光源 Light Source 来照明 墙壁与地板之间有明显的漏光 阴影生硬不真实 我们
  • Qt的下载与安装说明(超全!)

    Qt的下载与安装说明 下载说明 一打开浏览器输入https www qt io 来到Qt的官网 点击Developers Get Started 下滑到这这里 点击here 选择我们的需要的版本点击 in the archive 这个网页打
  • ISBN码书籍信息查询

    小程序 有书乐享 第一版已正式上线 在做这个小程序的过程中 有个扫一扫功能 通过书籍的ISBN码扫描后进行书籍分享 而网上找到的方式 要不提供的接口很久 无法请求 要不就是收费 总之让人折腾 因此基于这种情况 基于现有的小程序实现功能提供接
  • 重磅报告

    过去5年 是中国互联网创新飞跃的五年 中国从具有先天人口优势的网络大国逐步迈向技术创新驱动的网络强国 我国互联网产业在5年里究竟发生了哪些变化 阿里研究院发布报告 创新飞跃的五年 10大关键词解读中国互联网 报告基于丰富的数据 以及鲜活的案
  • ArcGis10.2详细安装步骤

    目录 1 安装License Manager10 2 2 复制试用文件 3 安装ArcGis Desktop10 2中文版 4 更新本地许可 提供arcgis下载地址 暂时评论区留邮箱吧 下载之后会得到以下3个目录 按顺序进行操作或者安装
  • QT笔记- 队列信号槽绑定与自定义类型

    说明 使用Qt QueuedConnection队列绑定时 某些默认非队列绑定时可用的自定义类型此时会不可用 如自定义枚举类型 此错误Qt不会报错和提示 解决 在绑定前使用qRegisterMetaType