1

2 つの Webkit ウィンドウで 2 つの URL を同時に開く Web インターフェイス テスト プログラムを実行しています。

テスト自動化のコードは既に作成しました。

1) ユーザーが「Go」ボタンを押すと、Webkit (QWidget) ウィンドウが開きます

2) TestBot クラス オブジェクトがテストを実行する

3) クローズ

ここで私の質問:「Go」ボタンをクリックした後、2 つ (または 3 つ以上) の Webkit (QWidget) ウィンドウを開くにはどうすればよいですか?

マルチスレッドを調べる必要があることを理解しました。QThread を TestBot クラス定義に「class TestBot : public QThread」として継承する必要があると思いましたが、これは正しい解決策ですか? 次に何をしますか?

次のようにコードを書くことはできません:

QThread process1;
QThread process2;
process1->start();
//some code here
process1->quit();

process2->start();
//some code here
process2->quit();

すべてを並行して機能させるには?

私は Winapp の世界では初心者で、Web プログラミングから来ました。あなたの助けを願っています!

4

2 に答える 2

1

一度に複数のウィンドウを表示するには、それらを並べて表示します。

void ShowMultiple()
{
    QWidget *win1 = new QWidget();
    QWidget *win2 = new QWidget();
    QWidget *win3 = new QWidget();

    win1->show();
    win2->show();
    win3->show();
}

このコードを実行すると、3 つの新しい (空白の) ウィンドウが表示されます。ただし、ウィンドウの表示に時間がかかるコードを実行しようとすると、状況が変わる可能性があります。その場合、スレッドまたは Qt::Concurrent の例を見たいと思うかもしれませんが、他のスレッドで UI をいじることは本当にできないことを念頭に置いてください。

于 2010-10-26T15:32:37.733 に答える
0

非同期タスク、特に非同期タスクのQtConcurrent 名前空間に関数を使用することができますrun

于 2010-10-23T22:32:22.197 に答える