故事背景:我定义了一个QT父类,里面有自定义信号和槽函数,我在main函数定义父类指针指向子类对象,此时发信号,子类收不到,开始咱们的探险之路。。。
解决方案:根据加断点发现调用的是父类的信号,但是信号槽是在子类构造函数做的关联;此时把connect放在父类就可以了(这只是一种解决方案);另一种是在网上查看了父类调用子类方法dynamic_cast,下面用代码解释下我的两种解决方案
代码有话说:
一、先看下父类和子类的头文件
第一种解决方案,connect放在父类构造函数:
第二种解决方案,使用dynamic_cast转换为子类对象,然后把connect放在子类的构造函数中
这是在开发中遇到的问题,分享给大家,如果有什么更好的解决方案或者此类问题,欢迎大家分享和评论。
Question:QT信号不能实现多态吗?同名信号(父类的信号子类是否继承了)?因为根据我这个解决方案还是有点疑惑。。。还请大佬解答。
Original: https://www.cnblogs.com/xupeidong/p/13863276.html
Author: 徐沛东
Title: QT父类信号调用子类槽函数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606958/
转载文章受原作者版权保护。转载请注明原作者出处!