У меня есть
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
с w
, как parent
, widg
появляется внутриw
(в левом верхнем углу).
Какой самый простой и понятный способ исправить это?
Спасибо!