0

私は自分のアプリケーションの GUI を構築するために使用した Qt を使用しています。

私はシグナルを理解しています.def(関数)に接続していますが、それは私が望むように機能しています. しかし、シグナルはスロットのほかに、[シグナル - 機能] 接続と [シグナル - スロット] 接続の違いは何ですか?

私はこのようなものをこのように使用しています:

class theOne(QObject):

    started = Signal()

    def __init__(self):
        ...

    def function(self):
        self.started.connect(self.goStart)
        self.started.emit()

    def goStart(self):
        """some actions"""

スロットは何のためにあるのか、誰か説明してもらえますか? 彼らはいくつかのパラメータを取ることができますか?しかし、通常の機能もそうです。御時間ありがとうございます。

4

1 に答える 1

0

スロットは関数です。スロットと関数の唯一の違いは、slot キーワードを使用すると、Qt メタオブジェクト コンパイラ (MOC) がその関数の関数ポインターを取得し、それを独自の目的 (シグナルへの応答など) に使用することです。関数のいずれかのポインターを取得し、ブール値が true のときにそれを呼び出すことで、そのようなプロセスを完全に再現できます。

それが役立つことを願っています。

PS: 私のバックグラウンドとスキルは C++ に関連していますが、私の言いたいことは理解できるはずです ;)

于 2014-11-18T01:12:43.423 に答える