您的位置:首页 > 编程语言 > Qt开发

QT 3D模块下 Dialog无响应

2017-07-20 19:27 465 查看
公司产品涉及到QT 3D模块,但是在应用时遇到一个Dialog无响应的问题。关键代码如下:

void MainWindow::newWidget()
{
QWidget *pWidget = new QWidget(this);
MyDialog myDlg;
myDlg->addWidget(pWidget, this);
myDlg.show();
}

//MyDialog中还有其他控件
void MyDialog::addWidget(QWidget *pWidget, QWidget *pParent)
{
setParent(pParent);
ui->layout()->addWidget(pWidget);
}


解决的方法就是:

QWidget *pWidget = new QWidget(this);
改为:
QWidget *pWidget = new QWidget();


具体原因暂时还没有查清,需要查看QT 3D模块的代码。值得学习的地方是同事定位缺陷的办法,他猜测是MyDialog中的某个控件导致了该问题,然后就一个个移除相关的控件,来定位到引起缺陷的控件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt+3d