0

このコードは 2 つの個別のダイアログを生成しますが、一方を他方の中に入れたいと考えています。

   class MyTree : public QWidget {
        QTreeView *view;
        ...
   }
   //class MyTree : public QDialog {...}   // same result

   QApplication testApp(argc, argv);
   QDialog *topWidget = new QDialog;
   MyTree *pjrTree = MyTree::Build();
   pjrTree->setParent(topWidget);
   topWidget->show();
   testApp.exec();

ダイアログとツリーの両方が正しく表示されます。封じ込め関係を強制することはできません。

4

3 に答える 3

1

あなたはそれを完全に間違っています。要素を含むレイアウトを作成する必要があります。

この例を見てください:

http://qt-project.org/doc/qt-5.0/qtwidgets/dialogs-findfiles.html

于 2013-10-04T10:50:34.177 に答える
0

QTreeViewへのポインターをQTreeViewメンバー変数として持つ代わりに、クラス MyTree を から派生させると、問題が解決しました。

于 2013-10-14T16:54:03.443 に答える
0

ソリューションは親のみを設定pjrTreeしますが、QDialog レイアウトには追加しません。直接固有のclass MyTreeから単純に固有にすることができます。それはより明確で正しいでしょう。QDialogQWidget

于 2013-10-04T11:01:08.470 に答える