我正在开发一个应用程序使用Qt主逻辑和Wt用户界面。为什么我编辑的WtWithQt示例崩溃?
但是我遇到了一个我无法解决的问题。我已将它应用于wtwithqt示例。
我只改变了“passGreet”函数来异步调用信号而不是直接调用信号。
应用程序在该点崩溃。
我不明白为什么。
编辑:其实它真的崩溃时它编辑重量物体在"HelloApplication::doGreet(const QString& qname)"
图片:https://dl.dropbox.com/u/90945130/crash.png
可能是一些对与Qt的事件循环开始动作的由来?
这是代码。
#include "HelloApplication.h"
#include "QtObject.h"
#include <QDebug>
#include <QThread>
QtObject::QtObject(HelloApplication *wt, QObject *parent)
: QObject(parent),
wt_(wt)
{}
void QtObject::passGreet(const QString& name)
{
//Q_EMIT greet(name);
QMetaObject::invokeMethod(this, "greet", Qt::QueuedConnection, Q_ARG(QString, name));
}
void QtObject::doGreet(const QString& name)
{
wt_->doGreet(name);
}
不变的代码的休息是在这里:http://pastebin.com/fih6P2eH
感谢提前任何帮助!
这将有助于知道你遇到了什么样的崩溃,可能还有回溯。 – 2013-03-27 08:49:36
没错。在这里你去:https://dl.dropbox.com/u/90945130/crash.png,我希望这可以帮助。 – TrueFurby 2013-03-27 09:14:26