【发布时间】:2013-07-01 12:38:57
【问题描述】:
我有 3 个类继承自 3 个不同的类,这些类都继承自 QWidget 基类。
例如:
MyMainWindow : public QMainWindow : public QWidgetMyPushButton : public QPushButton : public QWidgetMyTextEdit : public QTextEdit : public QWidget
我最终会有更多这样的课程。
我现在想做的是为我的所有类添加一个通用方法;这意味着它应该被添加到QWidget 基类中,但我无法编辑它(我宁愿不为一种方法更改 Qt 源代码)。
这种行为可能吗? 我已经尝试过使用这样的接口:
class MyTextEdit : public QTextEdit, IMyMethodContainer { ... };
但问题是,我需要在IMyMethodContainer 中访问QObject::connect(sender, signal, this, slot);,而通过this 我试图访问MyTextEdit,而不是IMyMethodContainer,它不是@987654332 的子类@。
【问题讨论】:
标签: c++ qt oop inheritance methods