qt 多重继承_c – 使用多重继承的Qt信号和插槽
我有一个类(MyClass),它从Qt内置对象(QGraphicsTextItem)继承其大部分功能. QGraphicsTextItem从QObject间接继承. MyClass还实现了一个接口MyInterface.
class MyClass : public QGraphicsTextItem,public MyInterface
我需要能够在MyInterface *上使用连接和断开连接.但是看起来连接和断开只能在QObject *实例上工作.由于Qt不支持QObject派生类的多重继承,所以我无法从QObject派生MyInterface. (也不会对接口有意义)
有一个discussion of the problem online,但是,在通常情况下(通过其接口访问对象),提出的解决方案是相当无用的,因为您无法从MyInterface *连接信号和插槽,但必须将其转换为派生类型.由于MyClass是许多MyInterface派生类之一,所以这将需要“代码臭”if-this-cast-to-this-else-if-that-cast-to-the语句,并且不符合接口的用途.
这个限制有很好的解决方案吗?
更新:我注意到,如果我将一个MyInterface *到QObject *(因为我知道所有的MyInterface派生类也最终从QObject继承),它似乎工作,就是:
MyInterface *my_interface_instance = GetInstance();
connect(dynamic_cast(my_interface_instance),SIGNAL(MyInterfaceSignal()),this,SLOT(TempSlot()));
但这真的好像是我要求不明确的行为….
qt 多重继承_c – 使用多重继承的Qt信号和插槽相关推荐
- linux qt wifi连接,贡献自己写的,在linux,arm下的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)...
当前位置:我的异常网» Linux/Unix » 贡献自己写的,在linux,arm下的屏幕搜索wifi并连接 贡献自己写的,在linux,arm下的屏幕搜索wifi并连接(qt,多选择,wifi按信 ...
- Qt Designer的信号和插槽编辑模式
Qt Designer的信号和插槽编辑模式 Qt Designer的信号和插槽编辑模式 连接对象 编辑和删除连接 Qt Designer的信号和插槽编辑模式 在Qt Designer的信号和插槽编辑模 ...
- Qt面试题(一)Qt信号槽第五个参数
connect()第五个参数的作用,指定连接方式:默认,队列,直接 多线程时才有意义 默认的时候 如果是多线程,默认使用队列 如果是单线程, 默认使用直接方式 ...
- Qt使用lambda表达式实现无参信号与有参槽的连接
Qt使用lambda表达式实现无参信号与有参槽的连接 在信号与槽进行连接时有一个"点击按钮关闭窗口"的实现,此时信号和槽都是无参情况可以进行匹配,但是当信号无参而槽有参数的时候,就 ...
- 【QT|趣谈】最详细的信号槽机制介绍!
用最有趣的方式解释信号槽通讯机制 1 导语:信号槽的前世今生 2 QT的信号槽 2.1什么是信号槽? 2.2 用严谨的语言解释信号槽 3 信号槽实战 3.1 信号槽实例 4 信号槽plus 4.1 L ...
- qt中c语言函数发送qt信号,关于c ++:从Qt中的静态类方法发送信号
我正在尝试编写一个静态回调函数,该函数经常从同一类中的另一个静态函数调用. 我的回调函数需要emit一个信号,但是由于某种原因,它根本无法这样做. 我将其放在调试器下,并且slot从不被调用. 但是, ...
- qt试用1(Eclipse+cdt+Qt)
下载eclipse-cpp-helios-SR1-win32.zip 下载Qt 下载qt-eclipse-integration-win32-1.6.1.exe 写一个启动eclipse的batch文 ...
- QT开发(五十)——QT串口编程基础
QT开发(五十)--QT串口编程基础 一.QtSerialPort简介 1.串口通信基础 目前使用最广泛的串口为DB9接口,适用于较近距离的通信.一般小于10米.DB9接口有9个针脚. 串口通信的主要 ...
- QT学习笔记(1)----- QT简介
名字由来 在<C++ GUI Programming with Qt 4>里有这么一段介绍: A Brief Histroy of Qt: The letter 'Q' was chose ...
最新文章
- 随机森林(Random Forest)为什么是森林?到底随机在哪里?行采样和列采样又是什么东西?
- POJ 3761:Bubble Sort——组合数学
- EfficientNetV2震撼发布!87.3%准确率!模型更小,训练更快!谷歌大脑新作
- body添加代码 js_hexo 博客添加评论和阅读量
- iOS tableview的常用delegate和dataSource执行顺序
- 牛客网《BAT面试算法精品课》学习笔记
- Grafana plugins zabbix 安装
- Centos下MySQL的安装及常见问题
- 软件开发作为一种价值领域的研究
- ZOJ 3826 Hierarchical Notation 模拟
- 论文写作--学习所得
- 基于 HttpClient 4.5 的 HttpClientUtils
- Ubuntu虚拟机下载app网速太慢
- DeFi 的纵向扩张:利率协议将带来去中心化金融世界新变革
- java 操作Zip文件(压缩、解压、加密)
- [Java]-单例模式与volatile简介
- 最佳联盟营销软件解决方案:简化你的联盟管理
- 3dsmax-角色骨骼
- 如何修改服务器凭据,如何更改操作数据库帐户的用户凭据
- mysql连接校对_mysql字符集和校对规则(Mysql校对集)