0

同時に 2 つのウィンドウを表示するにはどうすればよいですか? さて、メインウィンドウがあります。ボタンを押すと、qwidget を作成して返すプラグインをロードし、それを中央ウィジェットとして設定しますsetCentralWidget()が、アプリがクラッシュします。間違っていなければ、これはとにかく 1 つのウィンドウだけを表示します時間 。

プラグインからのコード:

QWidget* PlPlugin::initPltter() {

    plotter = new QWidget();
    plotter->resize(200,300);
    plotter->setWindowTitle("mypl");
    plotter->show();

    return plotter;
}

私のアプリで私がやっている:

setCentralWidget(plotter->initPlotter());
4

2 に答える 2

0

サイズを変更したり表示したりしないでください。メインウィンドウの中央ウィジェットになる場合は不要です。

また、あなたの例から、2つのウィンドウを表示しようとしていることを示唆するものは何もありません。あなたがしているのは、別のウィジェットを作成し、それをメインウィンドウの子として設定することです。どちらか一方を実行します。ウィジェットを作成して直接表示するか、ウィジェットを作成して別のウィジェットの下にペアレント化します。

于 2012-03-18T18:51:37.037 に答える
0

main.cpp に表示されている MainWindow の子は、2 番目のウィジェットで次のようにします。

QWidget* PlPlugin::initPltter() {

  plotter = new QWidget();
  plotter->resize(200,300);
  plotter->setWindowTitle("mypl");
  plotter->show();

  return plotter;
}

そして、これをしないでください

setCentralWidget(plotter->initPlotter());

MainWindow とウィジェットを別々の「ウィンドウ」で取得できます

于 2012-05-25T13:20:15.187 に答える