如果从构造函数调用QWidget winId崩溃

时间:2014-09-14 22:00:36

标签: c++ qt

我正在编写一个程序,我在构造函数中调用QWidget::winId()

debug_window::debug_window(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::debug_window),
    hk(NULL)
{
    this->ui->setupUi(this);
    this->hk = new TestClass(this, this->winId())
}

但这会导致我的程序崩溃,甚至在创建窗口之前。我已经发现winId的调用会导致崩溃,可能是因为此时没有窗口存在。 (如果我错了,请纠正我)。 可悲的是,没有信号" windowCreated()"或类似的东西。那么有没有办法找出窗口是创建的,或者如何解决这个问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

创建信号并在构造函数的末尾发出它。