0

GUIデザイナーに関しては、特定の信号が特定のスロットにどのように影響し、コードを呼び出すかを理解しています。その方法以外では、シグナルからスロットを呼び出す方法がわかりません。

この例を見てください:

void QFileDialog::directoryEntered ( const QString & directory ) [signal]

これは合図です。ディレクトリが入力されたら、ウィジェットQColumnViewにディレクトリの内容を入力します。

非ウィジェット信号はどのようにUIウィジェットのスロットを呼び出しますか。

connectを使用すると仮定しますが、提供されている例では2つの別個のオブジェクトを使用しています。

4

1 に答える 1

1

シグナルとスロットはQObjectの機能です。非 GUI コードでもうまく機能します。

信号をスロットに接続することは、常に次のconnect関数を介して行われます。

connect(myDialog, SIGNAL(directoryEntered(QString)),
    this, SLOT(updateColumn(QString)));

ここでupdateColumn()は、その QColumnView の実際の UI 更新を処理するメイン オブジェクトにスロットがあると仮定します。

于 2013-01-14T06:18:41.640 に答える