1

いくつかのウィジェットを備えた GUI アプリケーションがあります。ウィジェットを (定義したリストから) イベントに「登録」できるメカニズムを実装したいと考えています。イベントが発生すると、このイベントに登録されたすべてのウィジェットの「更新」メソッドが呼び出されます。

「Refresh」メソッドで「Refreshable」インターフェースを宣言することを考えました。

私の主な問題は、私が考えることができる実装 (主にシグナルとスロットで実装することを考えていた) では、継承するために Refreshable インターフェイスが必要になることですQObject(そのため、一部のメタデータが保存され、シグナルを使用できるようになります)。およびスロット)、つまり、ウィジェットは既に をQObject介して継承されているため、Refreshable から派生することはできませんQWidget

どんな助け/アイデアも大歓迎です!

4

1 に答える 1

3

Qt で既に十分に提供されているソリューションを設計しようとしています。各 QWidget には、スロットrepaint()(強制即時) とupdate()(キュー遅延) があります。それは、リフレッシュのために必要なすべてのことです。つまり、QWidget は、理論的に Refreshable インターフェースとなるものを既に実装しています。はい、QWidget から継承することはできず、スロットを宣言できるようにするために QObject からも継承する必要があるさらに別の「インターフェイス」を継承することはできません。技術的にはそうではないため、インターフェースと呼ぶのをやめれば、より明確になると思います-少なくとも純粋な仮想クラスの意味では。

于 2012-08-07T09:03:17.240 に答える