1

XML ファイルを解析するために QtXmlPatterns モジュールを使用しようとしています。残念ながら、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 が存在するかどうかは関係ありません。

QCoreApplication または QGuiApplication または QApplication を使用しても、Windows と Linux で同じプログラムがスムーズに実行されます。

また、QXmlQuery 関数で少し遊んでみました。setFocus 関数を呼び出すと、同じ動作が得られました (QCoreApplication ではすべて問題ありませんが、QGuiApplication では setFocus 関数で永久にハングします)。

提案?

4

0 に答える 0