我需要在Qt中提供一些帮助,因为我并没有真正理解Qt库在Visual Studio项目中的使用方式。我尝试使用QtXmlPatterns中的QXmlSchemaValidator类来根据模式验证xml文件,但由于我无法访问main.cpp文件,因此无法实例化QApplication对象。我不想创建一个Qt项目,只是尝试在一个类'方法中使用这个schemaValidator类。 这就是我尝试加载模式的方法:
QUrl url("http://.../schema.xsd");
QXmlSchema schema;
if (schema.load(url))
qDebug() << "schema is valid";
else
qDebug() << "schema is invalid";
我收到此警告:“请首先实例化QApplication对象”。
我在这里找到了一个解决方案:QEventLoop: Cannot be used without QApplication说我需要main函数看起来像这样:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
有没有办法加载架构并在没有QApplication对象的情况下验证我的xml文件?
提前致谢!
答案 0 :(得分:1)
是的,请改用QCoreApplication
。
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//your code here
return a.exec();
}
说真的,如果你喜欢的某些Qt功能需要一个事件循环,那么如果没有它,你就无法逃脱它。关于没有“Qt项目”(也许你的意思是你没有使用qmake
)但是使用Qt类:祝你好运。