使用QTS QXMLSCHEMAVALIDATOR而无需qapplication
Use Qts QXmlSchemaValidator without QApplication
我在QT中需要一些帮助,因为我并没有真正毫无疑问地在Visual Studio Projects中使用QT库的方式。我尝试使用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:没有Qapplication无法使用,即我需要主函数看起来像这样:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
是否有一种方法可以加载模式并验证我的XML文件,而无需qapplication对象?
预先感谢!
是的,使用QCoreApplication
代替。
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//your code here
return a.exec();
}
认真的,如果您喜欢的某些QT功能需要事件循环,那么您就无法摆脱它。关于没有" QT项目"(也许您是说您不使用qmake
),但还使用QT类:祝您好运。
相关文章:
- 从插槽调用 QApplication::p rocessEvents 会导致再次调用同一插槽
- 如何在QApplication中应用QLibraryInfo中加载的库和插件配置
- 如何为应用程序中的某些按钮重置QApplication::styleSheet?
- QApplication::p rocessEvents 在不同的线程上
- 在运行时将更改的环境变量应用于 QApplication
- 如何声明从 QApplication 派生的 Qt 类并覆盖通知函数?
- 如何"Re-Polish"相同风格的QApplication?
- QT和新的信号槽语法,QApplication::退出主功能外的插槽
- QT 5 [ 错误: QtGui/QApplication: 没有这样的文件或目录]
- 使用带有 QApplication 的视觉检漏仪
- Qt5 对'QApplication::QApplication(int&, char**, int)'的未定义引用
- Qt/Qml - 触发 QApplication/QQmlApplicationEngine 事件(键和鼠标事件)
- 模仿 QApplication::p alette() 基于颜色样式的行为
- 完全删除 QApplication 实例并在另一个线程中重新创建它
- 将 argc 和 argv 传递给 QApplication 到单元测试用例方法中
- 编译代码时"No matching function for call"。[QTS天线端口打开读取]
- 创建真正的无头 QApplication 实例
- Qapplication中没有成员ARGC和ARGV
- 使用QTS QXMLSCHEMAVALIDATOR而无需qapplication
- QML:当QApplication退出时,关闭所有QWidget