QObject是有窗口类的父类,比如QWidget,QLabel,QPushButton等都直接或间接继承自QObject类。如果把某个窗口中的所有控件都装到一个QList<QObject*>中,那么如何区分当前的是那种类型控件呢?

QObject *obj;

if (obj->metaObject()->className() == QStringLiteral("QPushButton")这样就可确定其类型为一个按钮。

然后通过

QPushButton *b = qobject_cast<QPushButton*>(obj); 转为真实的类型。
---------------------
作者:五香花生米
来源:CSDN
原文:https://blog.csdn.net/aristolto/article/details/80271763
版权声明:本文为博主原创文章,转载请附上博文链接!

Qt获取QObject对应的类名并把它转为真实类型(使用obj->metaObject()->className() )的更多相关文章

  1. 使用 Qt 获取 UDP 数据并显示成图片(2)

    本文首发于 BriFuture 的 个人博客 在我的前一篇文章 使用 Qt 获取 UDP 数据并显示成图片 中,我讲了如何用 Python 模拟发送数据,如何在 Qt 中高效的接收 UDP 数据包并将 ...

  2. 使用 Qt 获取 UDP 数据并显示成图片

    一个项目,要接收 UDP 数据包,解析并获取其中的数据,主要根据解析出来的行号和序号将数据拼接起来,然后将拼接起来的数据(最重要的数据是 R.G.B 三个通道的像素值)显示在窗口中.考虑到每秒钟要接收 ...

  3. Qt获取屏幕分辨率

    http://my.oschina.net/u/1255773/blog/159557 原 Qt获取屏幕分辨率 发表于1年前(2013-09-06 11:00)   阅读(546) | 评论(0) 3 ...

  4. Qt 获取usb设备信息 hacking

    /************************************************************************** * Qt 获取usb设备信息 hacking * ...

  5. WinAPI: GetClassName - 获取指定窗口的类名

    WinAPI: GetClassName - 获取指定窗口的类名 //声明: GetClassName( hWnd: HWND; {指定窗口句柄} lpClassName: PChar; {缓冲区} ...

  6. JAVA中获取当前运行的类名,方法名,行数

    JAVA中获取当前运行的类名,方法名,行数 public static String getTraceInfo(){ StringBuffer sb = new StringBuffer(); Sta ...

  7. [PHP]获取静态方法调用者的类名和运用call_user_func_array代入对象作用域

    一.获取静态方法调用者的类名 方法一: class foo { static public function test() { var_dump(get_called_class()); } } cl ...

  8. Qt 获取文件夹下所有文件

    Qt 获取文件夹下所有文件代码如下: QStringList getFileNames(const QString &path) { QDir dir(path); QStringList n ...

  9. Qt获取本机IP地址

    Qt获取本机IP地址: Qt版本:4.8.6 #include <QtNetwork/QNetworkInterface.h> QString ipAddr; QList<QHost ...

随机推荐

  1. 【iCore4 双核心板_ARM】例程九:ADC实验——电源监控

    实验原理: STM32内部集成三个12位ADC,iCore1S的所有电源经过电阻分压或者直接 接入STM32的ADC的输出通道内,输入电流经过高端电流检测芯片ZXCT1009F 输入到ADC的输入通道 ...

  2. ESN,MEID 和pESN

    ESN (Electronic Serial Numbers):电子序列号.在CDMA 系统中,是鉴别一个物理硬件设备唯一的标识.也就是说每个手机都用这个唯一的ID来鉴别自己, 就跟人的身份证一样.一 ...

  3. Swagger使用小记

    Swagger是一种框架,用于自动生成Restfull API的文档,而不用开发者自己编写文档.它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让 ...

  4. 【转】Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

  5. 蛋疼的mysql_ping()以及MYSQL_OPT_RECONNECT

    From: https://www.felix021.com/blog/read.php?2102 昨天@Zind同学找到我之前的一篇blog(已经修改),里面提到了mysql_ping和MYSQL_ ...

  6. Python 中 __all__ 的作用(转)

    之前看代码每次遇到import *时就会特别蒙,看到这篇文章一下子就弄明白了,原文地址:https://www.cnblogs.com/alamZ/p/6943869.html 1.测试文件foo.p ...

  7. 使用Redis List简单实现抢红包

    在这里不讨论抢红包的算法,只用redis简单尝试解决抢红包.借助redis单线程和List的POP方法. static void Main(string[] args) { IRedisHelper ...

  8. easyui tree 默认选中第一个元素

    系统采用ajax异步调用后端接口做数据呈现,有个场景就是加载的树形菜单默认选中第一行,网上有人分享的解决方案能实现效果(http://aokunsang.iteye.com/blog/1489204) ...

  9. ASP.NET MVC 4 (十三) 基于表单的身份验证

    在前面的章节中我们知道可以在MVC应用程序中使用[Authorize]特性来限制用户对某些网址(控制器/控制器方法)的访问,但这都是在对用户认证之后,而用户的认证则依然是使用ASP.NET平台的认证机 ...

  10. 【phpMQTT】phpMQTT详解以及处理使用过程中内存耗死问题

    参考文档: https://www.cloudmqtt.com/docs-php.html github下载 : https://github.com/bluerhinos/phpMQTT Cloud ...