2017-05-03 4 views
-2

私はqt guiプロジェクトを持っています。そのスレッドを使用しなければなりません。QThreads with passing passed

私は、QThreadにパラメータを渡す方法を探していて、私は方法を見つけることができませんでした。

誰かがこれを行う方法を知っていますか?また、QThreadsが解決策でない場合は、別の種類のスレッドを使用することもできます。

ありがとう!

+0

"qthreadの正しい方法"の場合、最初に "qt slotオブジェクトパラメータの受け渡し"の場合はgoogleをご利用ください。 – user3528438

+0

可能な解決策は、信号とスロットを使用することです。 – eyllanesc

+0

一般的に言えば、 'QThread'それを変更せずに使用すること以外は、 「パラメータ」は必要ありません。 –

答えて

0

がありQThreads使用する基本的に2つの方法です:

  1. サブクラスQThreadをしてrun方法
  2. サブクラスのQObjectを再実装し、QObject::moveToThread

を使用してQThreadにこのオブジェクトを移動し、あなたがしたい場合"QThreadにパラメータを渡す"の場合、どちらの方法でも静かです。

  1. 再実装されたrunメソッドを含むサブクラスの任意のメソッドからサブクラスのメンバ変数にアクセスできます。
  2. 別のスレッドで実行されるワーカーオブジェクトのスロットは、あなたが

をしたいと私はあなたが詳細については、このhttp://doc.qt.io/qt-5/qthread.html#detailsを読むことをお勧めしますように多くの引数を取ることができます。

QThread自体はスレッドではなく、スレッドの管理に役立つクラスであることに常に注意してください。