【发布时间】:2014-08-21 11:11:02
【问题描述】:
一段时间以来,我每天都在开发一个应用程序,现在大概有几个星期了,并且在开发方面已经取得了相当大的进展。
我有一个不必要的类,它只是转发对象创建。它基本上是一个创建“Widget”类的“Window”类。因此,我没有通过那个不必要的“Window”类来创建“Widget”类,而是直接在主“App”类中创建了“Widget”类。但是现在如果我运行它,应用程序会崩溃,就好像它在某个递归循环中并且不显示窗口。
我在每一行添加了一些 QDebug 消息,以查看它在崩溃之前到达的位置,然后它运行得很好。这到底是怎么回事?它像这样运行得很好:
void App::initialize()
{
qDebug() << "Initializing...";
qDebug() << "Creating the widget";
widget = new Widget();
qDebug() << "Showing the widget...";
widget->show();
qDebug() << "Initialized";
}
但是,如果我删除前两个 QDebug 消息中的任何一个,它就会陷入类似递归的循环中。我不知道它为什么这样做。我检查了项目文件和 qmake,在调试和发布模式下都运行过,它们都是一样的。
我不是在寻找有关如何解决此问题的答案。我正在寻找的是是否有其他人经历过这种情况。这对我来说毫无意义,我不明白它怎么可能崩溃......这就像 Qt 中的错误还是什么?
【问题讨论】:
-
你的应用程序是多线程的吗?
-
不。当前所有一个、单个、ui 线程。