我有
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");
}
Run Code Online (Sandbox Code Playgroud)
和主窗口MainWindow w;.
我想要
w;QCloseEvent或之后要销毁的实例w(现在它们只在之后被销毁QCloseEvent);我正在创建这样的新实例MyWidget:
void MainWindow::visualize()
{
MyWidget *widg = new MyWidget(this); // or widg = new MyWidget(0)
widg->show();
widg->raise();
widg->activateWindow();
}
Run Code Online (Sandbox Code Playgroud)
当我尝试widg用wa 创建时parent,widg出现在w(左上角)内部.
解决这个问题的最简单,最明确的方法是什么?
谢谢!
auk*_*ost 11
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent, Qt::Window)
{
glWidget = new GLWidget(this, cluster);
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addWidget(glWidget);
setLayout(mainLayout);
setWindowTitle("Visualization");
}
Run Code Online (Sandbox Code Playgroud)
添加Qt::Window到构造函数QWidget应该做你想要的.