C++ 无法在另一个对话框中创建Qt对话框
此代码生成两个单独的对话框,而我希望其中一个对话框位于另一个对话框内:C++ 无法在另一个对话框中创建Qt对话框,c++,qt,qt4,C++,Qt,Qt4,此代码生成两个单独的对话框,而我希望其中一个对话框位于另一个对话框内: class MyTree : public QWidget { QTreeView *view; ... } //class MyTree : public QDialog {...} // same result QApplication testApp(argc, argv); QDialog *topWidget = new QDialog; M
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();
对话框和树都正确显示。我就是不能强制执行包容关系 你做得完全不正确。您必须创建一个包含元素的布局 看看这个例子:
您的解决方案只设置了
pjrTree
的父级,但不要将其添加到QDialog布局中。您只需从QDialog
中选择固有类MyTree
,它直接固有QWidget
。它将更加清晰和正确。从QTreeView
派生类MyTree,而不是将指向QTreeView
的指针作为成员变量,修复了我的问题。我相信你想要对话框->设置模式(false)
-这不是一个好主意,而是制作一个功能更强大(设计)的对话框,如果(条件)MyTree现在从QDialog派生。结果相同。您是否仍在使用topWidget
?现在应该不用