我有
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
as创建时parent
,widg
出现在w
(左上角)的内部。
解决这个问题的最简单和最清晰的方法是什么?
谢谢!