1

スレッド化とGUIアプリケーションに頭を悩ませて、それらの構築を開始できるようにしようとしています。Qt SDKをダウンロードしましたが、少し迷っています。

これがどのように機能するかを理解できるように、テキストボックスと2つのボタンで構成されるGUIアプリケーションを作成したいと思います。各ボタンは新しいスレッドを開始し(したがって、3つが同時に実行される可能性があります:メインのGUIスレッドと2つはボタンから開始されます)、それぞれがテキストボックスの情報にアクセスできます。このアプリケーションをどのように設定しますか?

4

2 に答える 2

2

QtのベースであるSIGNALとSLOTSを見てください。

それが終わったら、QThreadとQThreadPoolを見てください。

また、私はこれらの素晴らしいチュートリアルをお勧めします:http ://www.voidrealms.com/tutorials.aspx?filter=qt

于 2012-10-15T20:16:02.993 に答える
1

以下に示すように、スロットをQPushButtonクリック信号に接続し、そのスロットから新しいスレッドをキックスタートする必要があります。

QPushButton *button=new QPushButton();

connect(button,SIGNAL(clicked()),this,SLOT(startthread()));

そして、スロットstartthreadは、ワーカークラスで新しいスレッドをキックスタートします

void MyClass::startthread()
  {
       QThread *thread=new QThread();
       WorkerClass * worker=new WorkerClass();
       worker->moveToThread(thread);
       thread->start()
  }

WorkerClassが別のスレッドで実行される場所。

于 2012-10-16T02:57:32.000 に答える