gpt4 book ai didi

c++ - 在没有 QApplication 的情况下使用 Qts QXmlSchemaValidator

转载 作者:行者123 更新时间:2023-11-30 05:07:28 24 4
gpt4 key购买 nike

我需要 Qt 方面的一些帮助,因为我不太了解 Qt 库在 Visual Studio 项目中的使用方式。我尝试使用 QtXmlPatterns 中的 QXmlSchemaValidator 类根据模式验证 xml 文件,但我无法实例化 QApplication 对象,因为我无权访问 main.cpp 文件。我不想创建一个 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 文件?

提前致谢!

最佳答案

是的,请改用QCoreApplication

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

//your code here

return a.exec();
}

说真的,如果您喜欢的某些 Qt 功能需要事件循环,那么您就无法摆脱它。关于没有“Qt 项目”(也许你的意思是你没有使用 qmake)但使用 Qt 类:祝你好运。

关于c++ - 在没有 QApplication 的情况下使用 Qts QXmlSchemaValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com