QWidget
基本クラスからすべて継承する3つの異なるクラスから継承する3つのクラスがあります。例えば:
MyMainWindow : public QMainWindow : public QWidget
MyPushButton : public QPushButton : public QWidget
MyTextEdit : public QTextEdit : public QWidget
そして、最終的には、このようなクラスがさらに増えるでしょう。今やりたいことは、すべてのクラスに共通のメソッドを追加することです。これは、基本クラスに追加する必要があることを意味しますがQWidget
、編集することはできません (1 つのメソッドの Qt ソース コードを変更したくありません)。
この種の動作は可能ですか?私はすでに次のようなインターフェースを使用してみました:
class MyTextEdit : public QTextEdit, IMyMethodContainer { ... };
しかし、問題は、 にアクセスする必要がQObject::connect(sender, signal, this, slot);
あり、 のサブクラスではないではなくにアクセスしようとしていることIMyMethodContainer
です。this
MyTextEdit
IMyMethodContainer
QWidget