《QT从基础到进阶·三十四》qobject_cast动态强制转换

简介: 《QT从基础到进阶·三十四》qobject_cast动态强制转换

qobject_cast()对QObject类执行动态强制转换。

qobject_cast()函数的行为类似于标准c++ dynamic_cast(),但执行速度比dynamic_cast 更快,且不需要C++的RTTI 的支持,但qobject_cast 仅适用于QObject 及其派生类

如果对象的类型正确(在运行时确定),则返回一个非零指针,如果对象的类型不兼容则返回0

条件:

强制转换的类型(比如AddInInterfaceBase)必须继承QOBject,要有Q_OBJECT宏

案例:

子类继承了父类的age值并进行了修改,把子类转成父类后可用拿到子类中修改的值,注意和多态有区别。


相关文章
|
存储 算法 编译器
【探索QTime】Qt中的时间操作与转换指南
【探索QTime】Qt中的时间操作与转换指南
2041 0
|
存储 安全 算法
Qt QSet 详解:从底层原理到高级用法
Qt QSet 详解:从底层原理到高级用法
1749 0
|
存储 开发框架 开发者
QT C++焦点事件:多角度解析实用技巧与方法
QT C++焦点事件:多角度解析实用技巧与方法
2924 0
|
Linux 图形学
深入理解Qt定时器:QTimer的魅力与挑战(一)
深入理解Qt定时器:QTimer的魅力与挑战
8737 0
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 空白项Spacer
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 空白项Spacer
916 2
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Radio Button的使用及说明
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Radio Button的使用及说明
2649 1
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
2620 2
|
数据可视化
【Qt 学习笔记】Qt窗口 | 菜单栏 | QMenuBar的使用及说明
【Qt 学习笔记】Qt窗口 | 菜单栏 | QMenuBar的使用及说明
4529 3
|
UED
【Qt 学习笔记】Qt窗口 | 工具栏 | QToolBar的使用及说明
【Qt 学习笔记】Qt窗口 | 工具栏 | QToolBar的使用及说明
2739 2
|
API UED
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
2874 4

热门文章

最新文章