私はQWidgetとモデルクラスから派生したクラスを持っています。私の読書に基づいて、私はQObjectから派生するモデルクラスを持つことができません。Qt:基底クラスメソッドを派生クラスのスロットに持っていく
class PageWidget : public QWidget,
public MyModelClass
{
...
};
モデルクラスMyModelClassはすでににsetWidth(BOOL)などのプロパティを設定する方法を有します。これらのメソッドをスロットとして直接使用することはできないようです。私が宣言した場合:
QObject :: connect(button、SIGNAl(dataChanged(bool))、this、SLOT(setWidth(bool)));
Qtは、実行時にスロットがないことを警告します。setWidth(bool)。各メソッドをPageWidgetに手動で追加する必要があります。PageWidgetは、単にMyModelClassの同じメソッドを呼び出します。
すべてのメソッドを再宣言することなく、ベースメソッドをスロットに入れる方法はありますか?
はい:複数の継承を使用しないでください:-)あなたはそれが必要であると確信していますか?特にメソッド名の競合がある場合は、多くの苦痛のために自分自身を設定しています。 – Mat