QGuiApplication& qt5上的QXmlQuery问题

时间:2013-09-25 09:35:37

标签: qt5

我正在尝试使用QtXmlPatterns模块来解析XML文件。 不幸的是在MacOsX 10.7和10.8上使用Qt5.1我发现了Qt4.8.5没有的问题。

#include <QCoreApplication>
#include <QGuiApplication>
#include <QXmlQuery>
#include <QStringList>
#include <QDebug>

int main(int argc, char *argv[])
{
    //QGuiApplication a(argc, argv);
    QCoreApplication a(argc, argv);
    QXmlQuery qry;
    qry.setQuery("doc(\"file.xml\")");
    QStringList lst;
    qry.evaluateTo(&lst);
    qDebug() << lst;
    return 0;
}

这是我正在使用的.pro。

QT += core gui xmlpatterns
TARGET = Test
TEMPLATE = app
CONFIG -= app_bundle
SOURCES += main.cpp

如果我运行QCoreApplication,一切正常,相反,如果我打开QGuiApplication(或QApplication),这个小程序将永远挂在evaluteTo函数上。如果file.xml存在与否则无关紧要。

在Windows和Linux上,即使我使用QCoreApplication或QGuiApplication或QApplication,相同的程序也能顺利运行。

我还尝试使用QXmlQuery函数。如果我调用setFocus函数,我得到了相同的行为(使用QCoreApplication,一切都没问题,QGuiApplication它在setFocus函数上永远挂起)。

连连呢?

0 个答案:

没有答案