我有
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget (QWidget *parent);
// ...
};
// here is ALL the code in MyWidget constructor
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
glWidget = new GLWidget(this, cluster);
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(glWidget);
setLayout(mainLayout);
setWindowTitle("Visualization");
}
和主窗口MainWindow w;。
我想
- 从创建 MyWidget 的新实例
w; - 该实例将在之后
QCloseEvent或之后被销毁w(现在它们仅在之后被销毁QCloseEvent); - 该实例出现在新窗口中。
我正在创建MyWidget这样的新实例:
void MainWindow::visualize()
{
MyWidget *widg = new MyWidget(this); // or widg = new MyWidget(0)
widg->show();
widg->raise();
widg->activateWindow();
}
当我尝试widg使用was创建时parent,widg出现在w(左上角)的内部。
解决这个问题的最简单和最清晰的方法是什么?
谢谢!