diff --git a/README.md b/README.md index e4f89050..a4174544 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ to your project: $VERSION ``` -(exchange `$VERSION` either by `5.15.8`, `6.2.6` or by `6.3.3`). +(exchange `$VERSION` either by `5.15.9`, `6.2.7` or by `6.3.4`). Otherwise, download QtJambi JAR file from [Maven Central Repository](https://search.maven.org/artifact/io.qtjambi/qtjambi/). @@ -120,7 +120,7 @@ public class Test { Compile the file: ``` powershell -javac -cp qtjambi-6.3.3.jar Test.java +javac -cp qtjambi-6.3.4.jar Test.java ``` ### Execute Example @@ -135,7 +135,7 @@ Therefore, use the PATH environment (LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH or the Java runtime property java.library.path. The example program can be executed this way: ``` -java -cp qtjambi-6.3.3.jar;. -Djava.library.path=C:\Qt\6.3.1\msvc2019_64\bin Test +java -cp qtjambi-6.3.4.jar;. -Djava.library.path=C:\Qt\6.3.1\msvc2019_64\bin Test ``` (On macOS you additionally need to use the start parameter -XstartOnFirstThread) diff --git a/autotestlib/autotestlib.pro b/autotestlib/autotestlib.pro index a3670458..1c7b2360 100644 --- a/autotestlib/autotestlib.pro +++ b/autotestlib/autotestlib.pro @@ -21,7 +21,14 @@ include(../src/cpp/qtjambi/qtjambi_include.pri) exists($$QTJAMBI_BUILDDIR/tests/autotest-generator/cpp/io_qt_autotests_generated): include($$QTJAMBI_BUILDDIR/tests/autotest-generator/cpp/io_qt_autotests_generated/generated.pri) -DESTDIR = ../lib +android:{ + armeabi-v7a: DESTDIR = ../lib/armeabi-v7a + arm64-v8a: DESTDIR = ../lib/arm64-v8a + x86: DESTDIR = ../lib/x86 + x86_64: DESTDIR = ../lib/x86_64 +}else{ + DESTDIR = ../lib +} INCLUDEPATH += ./cpp/io_qt_autotests_generated diff --git a/build.xml b/build.xml index 56edf7ec..d1ef62f2 100644 --- a/build.xml +++ b/build.xml @@ -321,7 +321,7 @@ Further options: description="Runs tests and generates report in TestReport subdir"> - + diff --git a/build_autotests.xml b/build_autotests.xml index c4a358b2..ade15a04 100644 --- a/build_autotests.xml +++ b/build_autotests.xml @@ -141,15 +141,15 @@ - - + + - - + + @@ -221,22 +221,70 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -255,15 +303,15 @@ - - + + - - + + @@ -306,6 +354,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -416,7 +491,8 @@ - + + @@ -460,7 +536,8 @@ - + + @@ -517,7 +594,7 @@ - + @@ -528,12 +605,12 @@ - + - + @@ -541,7 +618,8 @@ - + + @@ -557,11 +635,11 @@ - + - + @@ -569,7 +647,7 @@ - + @@ -713,7 +791,7 @@ - + diff --git a/generator/abstractmetabuilder.cpp b/generator/abstractmetabuilder.cpp index 006fa55c..28143345 100644 --- a/generator/abstractmetabuilder.cpp +++ b/generator/abstractmetabuilder.cpp @@ -762,6 +762,75 @@ bool AbstractMetaBuilder::build() { } } + for(auto function_item : m_dom->functions()){ + QString _function_name = function_item->name(); + QStringList tparams; + for(TemplateParameterModelItem t : function_item->templateParameters()){ + tparams << t->name(); + } + if(!tparams.isEmpty()) + _function_name += "<" + tparams.join(", ") + ">"; + _function_name += "("; + int counter = 0; + for(ArgumentModelItem arg : function_item->arguments()){ + if(arg->type().getReferenceType()==TypeInfo::NoReference + && arg->type().indirections().isEmpty() + && function_item->arguments().size()==1 + && arg->type().toString()=="void"){ + continue; + } + if(counter!=0){ + _function_name += ", "; + } + if(arg->type().isConstant()) + _function_name += "const "; + _function_name += arg->type().qualifiedName().join("::"); + for(bool i : arg->type().indirections()){ + if(i) + _function_name += " const"; + _function_name += "*"; + } + switch(arg->type().getReferenceType()){ + case TypeInfo::Reference: + _function_name += "&"; + break; + case TypeInfo::RReference: + _function_name += "&&"; + break; + default: break; + } + ++counter; + } + _function_name += ") "; + if(function_item->isConstant()) + _function_name += "const "; + if(function_item->referenceType()==TypeInfo::Reference) + _function_name += "& "; + _function_name += "-> "; + if(function_item->type().isConstant()) + _function_name += "const "; + _function_name += function_item->type().qualifiedName().join("::"); + for(bool i : function_item->type().indirections()){ + if(i) + _function_name += " const"; + _function_name += "*"; + } + switch(function_item->type().getReferenceType()){ + case TypeInfo::Reference: + _function_name += "&"; + break; + case TypeInfo::RReference: + _function_name += "&&"; + break; + default: break; + } + if(!function_item->templateParameters().isEmpty()){ + m_rejected_template_functions.insert({_function_name, function_item->fileName()}, IsGlobal); + }else{ + m_rejected_functions.insert({_function_name, function_item->fileName()}, IsGlobal); + } + } + for(AbstractMetaEnum *enm : qAsConst(m_scopeChangedEnums)){ if(AbstractMetaClass *cls = m_meta_classes.findClass(enm->typeEntry()->javaScope(), AbstractMetaClassList::QualifiedCppName)){ if(cls!=enm->enclosingClass()){ @@ -997,8 +1066,6 @@ bool AbstractMetaBuilder::build() { void AbstractMetaBuilder::applyDocs(const DocModel* docModel){ if(docModel){ - static TypeEntry* qstringType = TypeDatabase::instance()->findType("QtJambiString"); - static TypeEntry* qcharType = TypeDatabase::instance()->findType("QtJambiChar"); QHash> analyzedTypes; AbstractMetaFunctionalList meta_functionals = m_meta_functionals; for(AbstractMetaClass *meta_class : m_meta_classes) { @@ -1071,8 +1138,8 @@ void AbstractMetaBuilder::applyDocs(const DocModel* docModel){ break; }else{ if(type->typeEntry()!=argument->type()->typeEntry() - && !(type->typeEntry()->isQString() && argument->type()->typeEntry()==qstringType) - && !(type->typeEntry()->isChar() && argument->type()->typeEntry()==qcharType)){ + && !(type->typeEntry()->isQString() && argument->type()->typeEntry()==TypeDatabase::instance()->qstringType()) + && !(type->typeEntry()->isChar() && argument->type()->typeEntry()==TypeDatabase::instance()->qcharType())){ ok = false; break; } @@ -1202,8 +1269,8 @@ void AbstractMetaBuilder::applyDocs(const DocModel* docModel){ break; }else{ if(type->typeEntry()!=argument->type()->typeEntry() - && !(type->typeEntry()->isQString() && argument->type()->typeEntry()==qstringType) - && !(type->typeEntry()->isChar() && argument->type()->typeEntry()==qcharType)){ + && !(type->typeEntry()->isQString() && argument->type()->typeEntry()==TypeDatabase::instance()->qstringType()) + && !(type->typeEntry()->isChar() && argument->type()->typeEntry()==TypeDatabase::instance()->qcharType())){ ok = false; break; } @@ -3779,10 +3846,11 @@ AbstractMetaClass *AbstractMetaBuilder::traverseClass(ClassModelItem class_item) ComplexTypeEntry *type = TypeDatabase::instance()->findComplexType(full_class_name); if(type){ - if(type->isQString()) - type = TypeDatabase::instance()->findComplexType("QtJambiString"); - else if(type->isChar()) - type = TypeDatabase::instance()->findComplexType("QtJambiChar"); + if(type->isQString() && TypeDatabase::instance()->qstringType()){ + type = TypeDatabase::instance()->qstringType(); + }else if(type->isChar() && TypeDatabase::instance()->qcharType()){ + type = TypeDatabase::instance()->qcharType(); + } } if(type && type->designatedInterface()) type = type->designatedInterface(); @@ -4765,13 +4833,17 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(FunctionModelItem fu return nullptr; if(function_item->name()=="static_assert") return nullptr; - static TypeEntry* qstringType = TypeDatabase::instance()->findType("QtJambiString"); - static TypeEntry* qcharType = TypeDatabase::instance()->findType("QtJambiChar"); const ArgumentList& arguments = function_item->arguments(); QString function_name = function_item->name(); QString class_name = m_current_class->typeEntry()->qualifiedCppName(); QString _function_name = function_name; + QStringList tparams; + for(TemplateParameterModelItem t : function_item->templateParameters()){ + tparams << t->name(); + } + if(!tparams.isEmpty()) + _function_name += "<" + tparams.join(", ") + ">"; _function_name += "("; int counter = 0; for(ArgumentModelItem arg : arguments){ @@ -4828,7 +4900,14 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(FunctionModelItem fu } if (TypeDatabase::instance()->isFunctionRejected(class_name, function_name)) { - m_rejected_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + if(function_item->functionType() == CodeModel::Signal + || function_item->functionType() == CodeModel::PrivateSignal){ + m_rejected_signals.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + }else if(!function_item->templateParameters().isEmpty()){ + m_rejected_template_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + }else{ + m_rejected_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + } return nullptr; } @@ -4949,21 +5028,29 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(FunctionModelItem fu } type = translateType(function_type, &ok, QString("traverseFunction %1.%2").arg(class_name).arg(function_name)); if(type){ - if(type->typeEntry()->isQString() && m_current_class && m_current_class->typeEntry()==qstringType){ - type->setTypeEntry(qstringType); - }else if(type->typeEntry()->isChar() && m_current_class && m_current_class->typeEntry()==qcharType){ - type->setTypeEntry(qcharType); + if(type->typeEntry()->isQString() && m_current_class && m_current_class->typeEntry()==TypeDatabase::instance()->qstringType()){ + type->setTypeEntry(TypeDatabase::instance()->qstringType()); + }else if(type->typeEntry()->isChar() && m_current_class && m_current_class->typeEntry()==TypeDatabase::instance()->qcharType()){ + type->setTypeEntry(TypeDatabase::instance()->qcharType()); } } } if (!ok) { - ReportHandler::warning(QString("skipping function '%1::%2', unmatched return type '%3'") - .arg(class_name) - .arg(function_item->name()) - .arg(function_item->type().toString())); - m_rejected_functions[{class_name + "::" + _function_name, function_item->fileName()}] = - UnmatchedReturnType; + if(function_item->functionType() == CodeModel::Signal + || function_item->functionType() == CodeModel::PrivateSignal){ + ReportHandler::warning(QString("skipping signal '%1::%2', unmatched return type '%3'") + .arg(class_name, function_item->name(), function_item->type().toString())); + m_rejected_signals[{class_name + "::" + _function_name, function_item->fileName()}] = UnmatchedReturnType; + }else if(!function_item->templateParameters().isEmpty()){ + ReportHandler::warning(QString("skipping function '%1::%2<%3>', unmatched return type '%4'") + .arg(class_name, function_item->name(), tparams.join(", "), function_item->type().toString())); + m_rejected_template_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, UnmatchedReturnType); + }else{ + ReportHandler::warning(QString("skipping function '%1::%2', unmatched return type '%3'") + .arg(class_name, function_item->name(), function_item->type().toString())); + m_rejected_functions[{class_name + "::" + _function_name, function_item->fileName()}] = UnmatchedReturnType; + } meta_function->setInvalid(true); return meta_function.release(); } @@ -5034,10 +5121,10 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(FunctionModelItem fu if(!ok){ meta_type = translateType(arg->type(), &ok, QString("traverseFunction %1.%2 arg#%3").arg(class_name).arg(function_name).arg(i)); if(meta_type){ - if(meta_type->typeEntry()->isQString() && m_current_class && m_current_class->typeEntry()==qstringType){ - meta_type->setTypeEntry(qstringType); - }else if(meta_type->typeEntry()->isChar() && m_current_class && m_current_class->typeEntry()==qcharType){ - meta_type->setTypeEntry(qcharType); + if(meta_type->typeEntry()->isQString() && m_current_class && m_current_class->typeEntry()==TypeDatabase::instance()->qstringType()){ + meta_type->setTypeEntry(TypeDatabase::instance()->qstringType()); + }else if(meta_type->typeEntry()->isChar() && m_current_class && m_current_class->typeEntry()==TypeDatabase::instance()->qcharType()){ + meta_type->setTypeEntry(TypeDatabase::instance()->qcharType()); } } if (meta_type && ok && meta_type->typeEntry()->isEnum() && !meta_type->typeEntry()->qualifiedCppName().contains("::")) { @@ -5051,15 +5138,25 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(FunctionModelItem fu } } if (!meta_type || !ok) { - ReportHandler::warning(QString("skipping function '%1::%2', " - "unmatched parameter type '%3'") - .arg(class_name) - .arg(function_item->name()) - .arg(arg->type().toString())); if(arg->type().isVolatile()) meta_type = translateType(arg->type(), &ok, QString("traverseFunction %1.%2 arg#%3").arg(class_name).arg(function_name).arg(i)); - m_rejected_functions[{class_name + "::" + _function_name, function_item->fileName()}] = - UnmatchedArgumentType; + if(function_item->functionType() == CodeModel::Signal + || function_item->functionType() == CodeModel::PrivateSignal){ + ReportHandler::warning(QString("skipping signal '%1::%2', " + "unmatched parameter type '%3'") + .arg(class_name, function_item->name(), arg->type().toString())); + m_rejected_signals[{class_name + "::" + _function_name, function_item->fileName()}] = UnmatchedArgumentType; + }else if(!function_item->templateParameters().isEmpty()){ + ReportHandler::warning(QString("skipping function '%1::%2<%3>', " + "unmatched parameter type '%4'") + .arg(class_name, function_item->name(), tparams.join(", "), arg->type().toString())); + m_rejected_template_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, UnmatchedArgumentType); + }else{ + ReportHandler::warning(QString("skipping function '%1::%2', " + "unmatched parameter type '%3'") + .arg(class_name, function_item->name(), arg->type().toString())); + m_rejected_functions[{class_name + "::" + _function_name, function_item->fileName()}] = UnmatchedArgumentType; + } meta_function->setInvalid(true); return meta_function.release(); } @@ -5187,8 +5284,14 @@ AbstractMetaFunction *AbstractMetaBuilder::traverseFunction(FunctionModelItem fu if(!renamedOperator.skip){ ReportHandler::warning(QString("Operator type unknown: %1::%2").arg(m_current_class->qualifiedCppName()).arg(meta_function->originalSignature())); } - m_rejected_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, - GenerationDisabled); + if(function_item->functionType() == CodeModel::Signal + || function_item->functionType() == CodeModel::PrivateSignal){ + m_rejected_signals.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + }else if(!function_item->templateParameters().isEmpty()){ + m_rejected_template_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + }else{ + m_rejected_functions.insert({class_name + "::" + _function_name, function_item->fileName()}, GenerationDisabled); + } return nullptr; } }else{ @@ -7319,6 +7422,9 @@ static void write_reject_log_file(QFile *f, case AbstractMetaBuilder::IsPrivate: headline = "Is private"; break; + case AbstractMetaBuilder::IsGlobal: + headline = "Is in global scope"; + break; case AbstractMetaBuilder::GenerationDisabled: headline = "Generation disabled by type system"; break; @@ -7391,6 +7497,22 @@ void AbstractMetaBuilder::dumpLog() { write_reject_log_file(&file, m_rejected_functions); } + { + QString fileName("mjb_rejected_template_functions.log"); + QFile file(fileName); + if (!outputDirectory().isNull()) + file.setFileName(QDir(outputDirectory()).absoluteFilePath(fileName)); + write_reject_log_file(&file, m_rejected_template_functions); + } + + { + QString fileName("mjb_rejected_signals.log"); + QFile file(fileName); + if (!outputDirectory().isNull()) + file.setFileName(QDir(outputDirectory()).absoluteFilePath(fileName)); + write_reject_log_file(&file, m_rejected_signals); + } + { QString fileName("mjb_rejected_fields.log"); QFile file(fileName); diff --git a/generator/abstractmetabuilder.h b/generator/abstractmetabuilder.h index 99d52237..f59efd91 100644 --- a/generator/abstractmetabuilder.h +++ b/generator/abstractmetabuilder.h @@ -58,6 +58,7 @@ class AbstractMetaBuilder { UnmatchedArgumentType, UnmatchedReturnType, IsPrivate, + IsGlobal, NoReason }; @@ -193,6 +194,8 @@ class AbstractMetaBuilder { QMap, RejectReason> m_rejected_functionals; QMap, RejectReason> m_rejected_enums; QMap, RejectReason> m_rejected_functions; + QMap, RejectReason> m_rejected_template_functions; + QMap, RejectReason> m_rejected_signals; QMap, RejectReason> m_rejected_fields; QList m_enums; diff --git a/generator/javagenerator.cpp b/generator/javagenerator.cpp index 5334984f..d8348bc3 100644 --- a/generator/javagenerator.cpp +++ b/generator/javagenerator.cpp @@ -305,8 +305,20 @@ void JavaGenerator::registerPackage(QString pkgName, bool inclExported){ if(idx>0){ pkgName = pkgName.mid(0, idx); } - if(pkgName=="io.qt.qml.QQmlListProperty") + if(pkgName==QStringLiteral("io.qt.qml.QQmlListProperty")) inclExported = false; + if(pkgName.startsWith(QStringLiteral("?"))){ + pkgName = pkgName.mid(1).trimmed(); + if(pkgName.startsWith(QStringLiteral("extends "))){ + pkgName = pkgName.mid(8); + }else if(pkgName.startsWith(QStringLiteral("super "))){ + pkgName = pkgName.mid(6); + } + for(const QString& pkg : pkgName.split("&")){ + registerPackage(pkg.trimmed(), inclExported); + } + return; + } idx = pkgName.lastIndexOf('.'); if(idx>0){ pkgName = pkgName.mid(0, idx); @@ -5295,6 +5307,7 @@ void JavaGenerator::write(QTextStream &s, const AbstractMetaClass *java_class, i s << INDENT; + bool force_abstract = (java_class->typeEntry()->typeFlags() & ComplexTypeEntry::ForceAbstract) != 0; bool isInterface = false; if (java_class->isInterface()) { s << "public interface "; @@ -5317,8 +5330,6 @@ void JavaGenerator::write(QTextStream &s, const AbstractMetaClass *java_class, i isAbstract = java_class->typeEntry()->targetType().contains("abstract"); } - bool force_abstract = (java_class->typeEntry()->typeFlags() & ComplexTypeEntry::ForceAbstract) != 0; - if ((java_class->isFinal() || java_class->isNamespace()) && !java_class->hasSubClasses() && !isInterface @@ -5601,7 +5612,7 @@ void JavaGenerator::write(QTextStream &s, const AbstractMetaClass *java_class, i } } - if (!java_class->isInterface() && java_class->isAbstract()) { + if (!java_class->isInterface() && (java_class->isAbstract() || force_abstract)) { s << INDENT << "@io.qt.NativeAccess" << Qt::endl << INDENT << "private static final class ConcreteWrapper extends " << java_class->name().replace('$', '.') << " {" << Qt::endl; diff --git a/generator/targets/qtjambi_masterinclude.h b/generator/targets/qtjambi_masterinclude.h index 1e522b24..6c7c8853 100644 --- a/generator/targets/qtjambi_masterinclude.h +++ b/generator/targets/qtjambi_masterinclude.h @@ -176,6 +176,7 @@ #ifndef QTJAMBI_NO_QUICK # if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) # include +# define Q_QUICK_PRIVATE_EXPORT # else # define QSGTEXTURE_PLATFORM_H # include @@ -188,6 +189,7 @@ # include # endif # endif +# include # include #endif diff --git a/generator/typesystem/java/typesystem_core-java.java b/generator/typesystem/java/typesystem_core-java.java index 5d754258..f3d6365b 100644 --- a/generator/typesystem/java/typesystem_core-java.java +++ b/generator/typesystem/java/typesystem_core-java.java @@ -5940,10 +5940,10 @@ public static QMetaObject.Connection connect(QObject sender, String signal, QObj if(slot.isEmpty()) throw new IllegalArgumentException("Empty string not allowed as slot."); QMetaMethod signalMethod = sender.metaObject().method(signal); - if(signalMethod==null) + if(signalMethod==null || !signalMethod.isValid()) throw new QNoSuchSignalException(signal); QMetaMethod slotMethod = receiver.metaObject().method(slot); - if(slotMethod==null) + if(slotMethod==null || !slotMethod.isValid()) throw new QNoSuchSlotException(receiver, slot); return connect( sender, @@ -10215,7 +10215,15 @@ public void close(){ }// class class QDebug___ extends QDebug { - + + /** + * {@inheritDoc} + */ + @Override + public QDebug append(CharSequence csq, int start, int end) { + return append(csq==null ? "null" : csq.subSequence(start, end)); + } + /** *

See Qt::endl

*/ @@ -10568,6 +10576,14 @@ public final CharSequence string() { } return null; } + + /** + * {@inheritDoc} + */ + @Override + public QTextStream append(CharSequence csq, int start, int end) { + return append(csq==null ? "null" : csq.subSequence(start, end)); + } /** *

See QTextStream::device()const

@@ -10700,6 +10716,11 @@ public boolean seek(long pos) { public final QTextStream append(java.lang.String s){ return writeString(s); } + + @io.qt.QtUninvokable + public final QTextStream append(java.lang.CharSequence s){ + return writeString(s); + } @io.qt.QtUninvokable public final QTextStream append(double v){ @@ -13421,7 +13442,8 @@ public final java.lang.reflect.Constructor toReflectedConstructor() { public final QMetaObject.AbstractSignal toSignal(QObject sender) { if(isValid()) { if(methodType()==MethodType.Signal) { - return QMetaObject.findSignal(sender, name().toString(), parameterClassTypes().toArray(new Class[parameterCount()])); + QtJambi_LibraryUtilities.internal.checkedNativeId(java.util.Objects.requireNonNull(sender)); + return io.qt.internal.QtJambiInternal.findSignal(sender, this); }else { throw new IllegalArgumentException("Method " + this + " is not a signal."); } @@ -13435,7 +13457,7 @@ public static QMetaMethod fromSignal(QMetaObject.Signal signal) { io.qt.QtSignalEmitterInterface containingObject = signal.containingObject(); if(containingObject instanceof QObject) { if(signal.methodIndex()>=0) { - method = ((QObject)containingObject).metaObject().methodByIndex(signal.methodIndex()); + method = ((QObject)containingObject).metaObject().method(signal.methodIndex()); }else{ java.util.List> signalTypeClasses = signal.argumentTypes(); method = ((QObject)containingObject).metaObject().method(signal.name(), signalTypeClasses.toArray(new Class[signalTypeClasses.size()])); @@ -15341,7 +15363,7 @@ public final QString subSequence(int start, int end) { @Override @io.qt.QtUninvokable public final QString append(CharSequence csq, int start, int end) throws java.io.IOException { - return append(csq.subSequence(start, end)); + return append(csq==null ? "null" : csq.subSequence(start, end)); } /** diff --git a/generator/typesystem/java/typesystem_httpserver-java.java b/generator/typesystem/java/typesystem_httpserver-java.java index 3e62cb12..e5ddb9ce 100644 --- a/generator/typesystem/java/typesystem_httpserver-java.java +++ b/generator/typesystem/java/typesystem_httpserver-java.java @@ -228,13 +228,6 @@ public boolean route(String pathPattern, io.qt.httpserver.QHttpServerRequest.Met return false; return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); } - - @io.qt.QtUninvokable - public boolean route(String pathPattern, String methods, GenericViewHandler viewHandler, io.qt.core.QMetaType... metaTypes) { - if(pathPattern==null || viewHandler==null || metaTypes==null) - return false; - return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); - } @io.qt.QtUninvokable public boolean route(java.util.function.Function ruleFactory, java.util.function.BiFunction viewHandler, io.qt.core.QMetaType... metaTypes) { @@ -256,13 +249,6 @@ public boolean route(String pathPattern, io.qt.httpserver.QHttpServerRequest return false; return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); } - - @io.qt.QtUninvokable - public boolean route(String pathPattern, String methods, java.util.function.BiFunction viewHandler, io.qt.core.QMetaType... metaTypes) { - if(pathPattern==null || viewHandler==null || metaTypes==null) - return false; - return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); - } @io.qt.QtUninvokable public boolean route(java.util.function.Function ruleFactory, java.util.function.BiConsumer viewHandler, io.qt.core.QMetaType... metaTypes) { @@ -284,13 +270,6 @@ public boolean route(String pathPattern, io.qt.httpserver.QHttpServerRequest.Met return false; return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); } - - @io.qt.QtUninvokable - public boolean route(String pathPattern, String methods, java.util.function.BiConsumer viewHandler, io.qt.core.QMetaType... metaTypes) { - if(pathPattern==null || viewHandler==null || metaTypes==null) - return false; - return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); - } @io.qt.QtUninvokable public boolean route(java.util.function.Function ruleFactory, java.util.function.Function viewHandler, io.qt.core.QMetaType... metaTypes) { @@ -313,13 +292,6 @@ public boolean route(String pathPattern, io.qt.httpserver.QHttpServerRequest return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); } - @io.qt.QtUninvokable - public boolean route(String pathPattern, String methods, java.util.function.Function viewHandler, io.qt.core.QMetaType... metaTypes) { - if(pathPattern==null || viewHandler==null || metaTypes==null) - return false; - return router().addRule(new QHttpServerRouterRule(pathPattern, methods, createRouterHandler(viewHandler, metaTypes)), metaTypes); - } - @FunctionalInterface private interface SlotInvoker{ Object invoke(ViewHandler object, Object... args) throws Throwable; @@ -627,87 +599,16 @@ public boolean route(S } } } - - @io.qt.QtUninvokable - public boolean route(String pathPattern, String methods, ViewHandler viewHandler) { - InvokableTypeInfo info = type(viewHandler); - if(info.slotInvoker==null) - return false; - java.lang.reflect.Parameter[] parameters = info.parameters; - int requestArg = -1; - int responderArg = -1; - for (int i = 0; i < parameters.length; i++) { - if(parameters[i].getType()==QHttpServerRequest.class) { - requestArg = i; - }else if(parameters[i].getType()==QHttpServerResponder.class) { - responderArg = i; - } - } - if(!info.hasReturnType) { // no responder! - if(responderArg==-1) { - throw new RuntimeException("QHttpServerResponder expected as argument."); - }else { - if(requestArg==-1) { - if(responderArg!=parameters.length-1) { - throw new RuntimeException("QHttpServerResponder expected to be last argument."); - } - }else { - if(responderArg0) { - throw new RuntimeException("QHttpServerResponder unexpected for suppliers."); - } - if(requestArg>0 && requestArg!=parameters.length-1) { - throw new RuntimeException("QHttpServerRequest expected to be last argument."); - } - io.qt.core.QMetaType[] metaTypes = new io.qt.core.QMetaType[parameters.length - (requestArg==-1 ? 0 : 1)]; - for(int i=0; i converters = new java.util.TreeMap<>(); - @io.qt.QtUninvokable public final void addConverter(Class type, java.lang.String regexp){ io.qt.core.QMetaType metaType = io.qt.core.QMetaType.fromType(type); addConverter(metaType, regexp); } - @io.qt.QtUninvokable - public final void addConverter(io.qt.core.QMetaType metaType, java.lang.String regexp){ - io.qt.core.QByteArray pointer = io.qt.core.QString.toLatin1(regexp); - converters.put(metaType.id(), pointer); - addConverter(metaType, pointer); - } - @io.qt.QtUninvokable public final void removeConverter(Class type){ io.qt.core.QMetaType metaType = io.qt.core.QMetaType.fromType(type); diff --git a/generator/typesystem/java/typesystem_qml-java.java b/generator/typesystem/java/typesystem_qml-java.java index 9b443119..7a6dc0da 100644 --- a/generator/typesystem/java/typesystem_qml-java.java +++ b/generator/typesystem/java/typesystem_qml-java.java @@ -119,6 +119,20 @@ public final void setProperty(int arrayIndex, QJSValue.SpecialValue value) { class __QtQml__ extends QtQml{ + /** + * Returns the QJSEngine associated with object, if any. + * + * This function is useful if you have exposed a QObject to the JavaScript environment + * and later in your program would like to regain access. It does not require you to + * keep the wrapper around that was returned from QJSEngine::newQObject(). + */ + @io.qt.QtUninvokable + public static QJSEngine qjsEngine(io.qt.core.QObject object){ + return qjsEngine(QtJambi_LibraryUtilities.internal.nativeId(object)); + } + + private static native QJSEngine qjsEngine(long object); + public static native int qmlRegisterTypeNotAvailable(String uri, int versionMajor, int versionMinor, String qmlName, String message); public static native int qmlRegisterUncreatableType(Class type, String uri, int versionMajor, int versionMinor, String qmlName, String reason); @@ -142,6 +156,8 @@ public static QObject qmlAttachedPropertiesObject(Class clazz public static native int qmlRegisterAnonymousType(Class type, String uri, int versionMajor); public static native int qmlRegisterType(QUrl url, String uri, int versionMajor, int versionMinor, String qmlName); + + public static native int qmlTypeId(String uri, int versionMajor, int versionMinor, String qmlName); public static native boolean qmlProtectModule(String uri, int majVersion); @@ -244,6 +260,98 @@ private final boolean connectNotifySignal(io.qt.core.QMetaObject.AbstractSlot sl }// class +class QJSEngine__{ + + @io.qt.QtUninvokable + public final QJSValue newQMetaObject(Class type) { + return newQMetaObject(io.qt.core.QMetaObject.forType(type)); + } +}// class + +class QJSEngine_6_{ + @io.qt.QtUninvokable + public final T fromScriptValue(QJSValue value, Class type, io.qt.core.QMetaType...instantiations) { + return fromScriptValue(value, io.qt.core.QMetaType.fromType(type, instantiations)); + } + + @io.qt.QtUninvokable + public final T fromScriptValue(QJSValue value, io.qt.core.QMetaType type) { + return fromScriptValue(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.checkedNativeId(value), QtJambi_LibraryUtilities.internal.checkedNativeId(type)); + } + + private static native T fromScriptValue(long thisId, long valueId, long typeId); + + @io.qt.QtUninvokable + public final QJSValue toScriptValue(T value) { + return toScriptValue(QtJambi_LibraryUtilities.internal.nativeId(this), value); + } + + private static native QJSValue toScriptValue(long thisId, Object value); +}// class + +class QJSEngine_61_{ + @io.qt.QtUninvokable + public final T fromManagedValue(QJSManagedValue value, Class type, io.qt.core.QMetaType...instantiations) { + return fromManagedValue(value, io.qt.core.QMetaType.fromType(type, instantiations)); + } + + @io.qt.QtUninvokable + public final T fromManagedValue(QJSManagedValue value, io.qt.core.QMetaType type) { + return fromManagedValue(QtJambi_LibraryUtilities.internal.nativeId(this), QtJambi_LibraryUtilities.internal.checkedNativeId(value), QtJambi_LibraryUtilities.internal.checkedNativeId(type)); + } + + private static native T fromManagedValue(long thisId, long valueId, long typeId); + + @io.qt.QtUninvokable + public final QJSManagedValue toManagedValue(T value) { + return toManagedValue(QtJambi_LibraryUtilities.internal.nativeId(this), value); + } + + private static native QJSManagedValue toManagedValue(long thisId, Object value); + +}// class + +class QJSEngine_63_{ + @io.qt.QtUninvokable + public final T fromVariant(Object variant, Class type, io.qt.core.QMetaType...instantiations) { + return fromVariant(variant, io.qt.core.QMetaType.fromType(type, instantiations)); + } + + @io.qt.QtUninvokable + public final T fromVariant(Object variant, io.qt.core.QMetaType type) { + return fromVariant(QtJambi_LibraryUtilities.internal.nativeId(this), variant, QtJambi_LibraryUtilities.internal.checkedNativeId(type)); + } + + private static native T fromVariant(long thisId, Object variant, long typeId); + +}// class + +class QQmlEngine__{ + + /** + *

See QQmlEngine::singletonInstance(int qmlTypeId)

+ */ + @io.qt.QtUninvokable + public final T singletonInstance(Class type, int qmlTypeId) { + io.qt.core.QObject object = singletonInstance(QtJambi_LibraryUtilities.internal.nativeId(this), qmlTypeId).toQObject(); + if(object!=null) + return object.qt_metacast(type); + return null; + } + + /** + *

See QQmlEngine::singletonInstance(int qmlTypeId)

+ */ + @io.qt.QtUninvokable + public final QJSValue singletonInstance(int qmlTypeId) { + return singletonInstance(QtJambi_LibraryUtilities.internal.nativeId(this), qmlTypeId); + } + + @io.qt.QtUninvokable + private static native QJSValue singletonInstance(long __this__nativeId, int qmlTypeId); + +}// class + class QQmlExpression__{ public static class ValueIsUndefined extends RuntimeException{ private static final long serialVersionUID = 7719401165632826435L; diff --git a/generator/typesystem/java/typesystem_webenginequick-java.java b/generator/typesystem/java/typesystem_webenginequick-java.java new file mode 100644 index 00000000..1c3a94bb --- /dev/null +++ b/generator/typesystem/java/typesystem_webenginequick-java.java @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2022 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** ** $BEGIN_LICENSE$ +** +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain +** additional rights. These rights are described in the Nokia Qt LGPL +** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +** package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ + +class QtWebEngineQuick___{ + /** + * Allows accessing the QWebEngineSettings inside of a QQuickWebEngineSettings (internal type). + * @param quickWebEngineSettings QQuickWebEngineSettings object + * @return QWebEngineSettings + */ + @SuppressWarnings("exports") + public static native io.qt.webengine.core.QWebEngineSettings toWebEngineSettings(io.qt.core.QObject quickWebEngineSettings); + + /** + * Allows accessing the QWebEngineScriptCollection inside of a QQuickWebEngineScriptCollection (internal type). + * @param quickWebEngineScriptCollection QQuickWebEngineScriptCollection object + * @return QWebEngineScriptCollection + */ + @SuppressWarnings("exports") + public static native io.qt.webengine.core.QWebEngineScriptCollection toWebEngineScriptCollection(io.qt.core.QObject quickWebEngineScriptCollection); +}// class + + diff --git a/generator/typesystem/typedatabase.cpp b/generator/typesystem/typedatabase.cpp index aa71ed6a..eb029057 100644 --- a/generator/typesystem/typedatabase.cpp +++ b/generator/typesystem/typedatabase.cpp @@ -85,7 +85,9 @@ TypeDatabase::TypeDatabase() : m_suppressWarnings(true), m_includeEclipseWarnings(false), m_pixmapType(nullptr), - m_bitmapType(nullptr) { + m_bitmapType(nullptr), + m_qstringType(nullptr), + m_qcharType(nullptr){ } TypeDatabase *TypeDatabase::instance() { @@ -208,8 +210,10 @@ NamespaceTypeEntry *TypeDatabase::findNamespaceType(const QString &name) { void TypeDatabase::addType(TypeEntry *e) { if(e->qualifiedCppName()=="QString" && !e->isQString()){ m_entries["QtJambiString"].append(e); + m_qstringType = dynamic_cast(e); }else if(e->qualifiedCppName()=="QChar" && !e->isChar()){ m_entries["QtJambiChar"].append(e); + m_qcharType = dynamic_cast(e); }else{ m_entries[e->qualifiedCppName()].append(e); } @@ -222,10 +226,10 @@ void TypeDatabase::addType(TypeEntry *e) { } } if(!m_pixmapType && e->qualifiedCppName()==QLatin1String("QPixmap")){ - m_pixmapType = e; + m_pixmapType = dynamic_cast(e); } if(!m_bitmapType && e->qualifiedCppName()==QLatin1String("QBitmap")){ - m_bitmapType = e; + m_bitmapType = dynamic_cast(e); } } diff --git a/generator/typesystem/typedatabase.h b/generator/typesystem/typedatabase.h index 938ca013..9a969e67 100644 --- a/generator/typesystem/typedatabase.h +++ b/generator/typesystem/typedatabase.h @@ -156,6 +156,14 @@ class TypeDatabase { inline uint qtVersion() const {return m_qtVersion;} + ComplexTypeEntry * qstringType() const{ + return m_qstringType; + } + + ComplexTypeEntry * qcharType() const{ + return m_qcharType; + } + private: uint m_qtVersion; uint m_suppressWarnings : @@ -178,8 +186,10 @@ class TypeDatabase { DefinedPtr m_defined; QMap m_typeSystemsByQtLibrary; - const TypeEntry * m_pixmapType; - const TypeEntry * m_bitmapType; + ComplexTypeEntry * m_pixmapType; + ComplexTypeEntry * m_bitmapType; + ComplexTypeEntry * m_qstringType; + ComplexTypeEntry * m_qcharType; }; #endif diff --git a/generator/typesystem/typeentry.cpp b/generator/typesystem/typeentry.cpp index 6e7eb00f..df4b9ffd 100644 --- a/generator/typesystem/typeentry.cpp +++ b/generator/typesystem/typeentry.cpp @@ -203,10 +203,10 @@ QString EnumTypeEntry::javaPackage() const { }else{ m_qualifier_type = TypeDatabase::instance()->findType(m_javaScope); } - if(m_qualifier_type && m_qualifier_type->isQString()) - m_qualifier_type = TypeDatabase::instance()->findType("QtJambiString"); - else if(m_qualifier_type && m_qualifier_type->isChar()) - m_qualifier_type = TypeDatabase::instance()->findType("QtJambiChar"); + if(m_qualifier_type && m_qualifier_type->isQString() && TypeDatabase::instance()->qstringType()) + m_qualifier_type = TypeDatabase::instance()->qstringType(); + else if(m_qualifier_type && m_qualifier_type->isChar() && TypeDatabase::instance()->qcharType()) + m_qualifier_type = TypeDatabase::instance()->qcharType(); } if (m_qualifier_type){ if(m_qualifier_type->isVariant()) diff --git a/generator/typesystem/xml/typesystem_core-common.xml b/generator/typesystem/xml/typesystem_core-common.xml index cc861fc1..5f39f511 100644 --- a/generator/typesystem/xml/typesystem_core-common.xml +++ b/generator/typesystem/xml/typesystem_core-common.xml @@ -50,8 +50,6 @@ <li>QtGui - Base classes for graphical user interface (GUI) components. Includes OpenGL.</li> <li>QtWidgets - Classes to extend Qt GUI with C++ widgets.</li> </ul> - - @@ -289,6 +287,7 @@ + @@ -2730,11 +2729,9 @@ - - @@ -2966,7 +2963,8 @@ - + + @@ -3438,7 +3436,6 @@ - @@ -3725,8 +3722,10 @@ + + diff --git a/generator/typesystem/xml/typesystem_core-java.xml b/generator/typesystem/xml/typesystem_core-java.xml index f02f55d4..15cda810 100644 --- a/generator/typesystem/xml/typesystem_core-java.xml +++ b/generator/typesystem/xml/typesystem_core-java.xml @@ -3116,7 +3116,7 @@ if(!useQGuiApplicationExec){ - + @@ -3219,11 +3219,27 @@ if(!useQGuiApplicationExec){ + + + + + Q_UNUSED(__qt_return_value) + %out = qtjambi_to_stringobject(%env, __qt_%1); + + + + + + QString %out; + + + + - Q_UNUSED(__qt_return_value) + Q_UNUSED(__qt_return_value) %out = qtjambi_from_qstring(%env, __qt_%1); @@ -3233,10 +3249,23 @@ if(!useQGuiApplicationExec){ QString %out; + + + + + + + + + + + QString %out = qtjambi_to_qstring(%env, %1); + + @@ -4057,7 +4086,20 @@ if(!useQGuiApplicationExec){ - + + + qsizetype* %out; + if constexpr(sizeof(int)==sizeof(qsizetype)){ + %out = qtjambi_array_cast<qsizetype*>(%env, %scope, %in, 1); + }else{ + if(int* tmp = qtjambi_array_cast<int*>(%env, %scope, %in, 1)){ + %out = new qsizetype(*tmp); + %scope.addFinalAction([=]{*tmp = jint(*%out); delete %out;}); + }else{ + %out = nullptr; + } + } + @@ -4949,7 +4991,7 @@ if(!useQGuiApplicationExec){ - + @@ -5003,6 +5045,17 @@ if(!useQGuiApplicationExec){ + + + + + + + + + QString %out = qtjambi_to_qstring(%env, %1); + + @@ -5087,11 +5140,6 @@ if(!useQGuiApplicationExec){ - - - - - diff --git a/generator/typesystem/xml/typesystem_gui-common.xml b/generator/typesystem/xml/typesystem_gui-common.xml index 55daa67e..ba241606 100644 --- a/generator/typesystem/xml/typesystem_gui-common.xml +++ b/generator/typesystem/xml/typesystem_gui-common.xml @@ -270,6 +270,7 @@ + diff --git a/generator/typesystem/xml/typesystem_gui-java.xml b/generator/typesystem/xml/typesystem_gui-java.xml index c64f53fc..858dd6bc 100644 --- a/generator/typesystem/xml/typesystem_gui-java.xml +++ b/generator/typesystem/xml/typesystem_gui-java.xml @@ -5150,7 +5150,7 @@ __rcRedirections.remove(%1); - jobject %out = %env->NewDirectByteBuffer(%in, __qt_this->size()); + %out = %env->NewDirectByteBuffer(%in, __qt_this->size()); @@ -5158,7 +5158,7 @@ __rcRedirections.remove(%1); - jobject %out = %env->NewDirectByteBuffer(%in, qMin(%2, __qt_this->size()-%1)); + %out = %env->NewDirectByteBuffer(%in, qMin(%2, __qt_this->size()-%1)); @@ -5385,14 +5385,14 @@ __rcRedirections.remove(%1); - jobject %out = qtjambi_from_qobject(%env, %in, "io/qt/widgets/QAction"); + %out = qtjambi_from_qobject(%env, %in, "io/qt/widgets/QAction"); - jobject %out = qtjambi_from_qobject(%env, %in, "io/qt/widgets/QAction"); + %out = qtjambi_from_qobject(%env, %in, "io/qt/widgets/QAction"); diff --git a/generator/typesystem/xml/typesystem_httpserver-common.xml b/generator/typesystem/xml/typesystem_httpserver-common.xml index 00777292..1635ac89 100644 --- a/generator/typesystem/xml/typesystem_httpserver-common.xml +++ b/generator/typesystem/xml/typesystem_httpserver-common.xml @@ -46,6 +46,7 @@ + @@ -59,17 +60,6 @@ - - - - - - - - - - - @@ -84,11 +74,13 @@ + - + - + diff --git a/generator/typesystem/xml/typesystem_httpserver-java.xml b/generator/typesystem/xml/typesystem_httpserver-java.xml index 2ea7d22f..4a11926a 100644 --- a/generator/typesystem/xml/typesystem_httpserver-java.xml +++ b/generator/typesystem/xml/typesystem_httpserver-java.xml @@ -43,64 +43,6 @@ ** ****************************************************************************--> - - -template<> inline QHttpServerResponse qvariant_cast<QHttpServerResponse>(const QVariant &v) -{ - QMetaType targetType = QMetaType::fromType<QHttpServerResponse>(); - if (v.d.type() == targetType) - return QHttpServerResponse(const_cast<QHttpServerResponse&&>(v.d.get<QHttpServerResponse>())); - QHttpServerResponse t(QHttpServerResponse::StatusCode::NotFound); - QMetaType::convert(v.metaType(), v.constData(), targetType, &t); - return t; -} - -namespace QtJambiPrivate{ -template<> -struct FutureVariantHandler<QHttpServerResponse>{ - static QVariant create(JNIEnv *env, const QHttpServerResponse& value){ - jobject _value = qtjambi_cast<jobject>(env, new QHttpServerResponse(std::move(const_cast<QHttpServerResponse&>(value)))); - qtjambi_set_java_ownership(env, _value); - return QVariant::fromValue<JObjectWrapper>(JObjectWrapper(env, _value)); - } - static void reportNativeResults(JNIEnv *env, const QSharedPointer<QFutureInterfaceBase>& sourceFuture, const QSharedPointer<QFutureInterfaceBase>& targetFuture, int beginIndex, int count){ - if(count==1){ - dynamic_cast<QFutureInterface<QVariant>*>(sourceFuture.get())->reportResult(create(env, targetFuture->resultStoreBase().resultAt(beginIndex).value<QHttpServerResponse>()), beginIndex); - }else{ - QVector<QVariant> results(count); - for(int i=0; i<count; ++i){ - results << create(env, targetFuture->resultStoreBase().resultAt(beginIndex).value<QHttpServerResponse>()); - } - dynamic_cast<QFutureInterface<QVariant>*>(sourceFuture.get())->reportResults(results, count); - } - } - - static void reportJavaResults(JNIEnv *, const QSharedPointer<QFutureInterfaceBase>& sourceFuture, const QSharedPointer<QFutureInterfaceBase>&targetFuture, int beginIndex, int count){ - if(count==1){ - dynamic_cast<QFutureInterface<QHttpServerResponse>*>(targetFuture.get())->reportResult(sourceFuture->resultStoreBase().resultAt(beginIndex).value<QVariant>().value<QHttpServerResponse>(), beginIndex); - }else{ - for(int i=0; i<count; ++i){ - dynamic_cast<QFutureInterface<QHttpServerResponse>*>(targetFuture.get())->reportResult(sourceFuture->resultStoreBase().resultAt(i).value<QVariant>().value<QHttpServerResponse>(), i); - } - } - } -}; -} - - - - - - - - - - - QFuture<QHttpServerResponse> %out = qtjambi_cast<QFuture<QHttpServerResponse>>(%env, %in); - - - - @@ -118,6 +60,26 @@ struct FutureVariantHandler<QHttpServerResponse>{ + + + + + + + + + + + + + + + + + + + + @@ -137,37 +99,6 @@ struct FutureVariantHandler<QHttpServerResponse>{ - - - - - QHash<QMetaType,QString> converters; - for(std::pair<QMetaType,QLatin1StringView> m : %in.asKeyValueRange()){ - converters[m.first] = m.second; - } - %out = qtjambi_cast<jobject>(%env, converters); - - - - - - - - QByteArray* data = qtjambi_cast<QByteArray*>(%env, %in); - QLatin1StringView %out = QLatin1StringView(data->data()); - - - - - - converters.remove(metaType.id()); - - - - - converters.clear(); - - @@ -219,11 +150,6 @@ struct FutureVariantHandler<QHttpServerResponse>{ - - - - - diff --git a/generator/typesystem/xml/typesystem_qml-common.xml b/generator/typesystem/xml/typesystem_qml-common.xml index 829c752c..1fab8370 100644 --- a/generator/typesystem/xml/typesystem_qml-common.xml +++ b/generator/typesystem/xml/typesystem_qml-common.xml @@ -48,13 +48,11 @@ - - @@ -228,6 +226,7 @@ + diff --git a/generator/typesystem/xml/typesystem_qml-java.xml b/generator/typesystem/xml/typesystem_qml-java.xml index 54883cba..4ff4ac98 100644 --- a/generator/typesystem/xml/typesystem_qml-java.xml +++ b/generator/typesystem/xml/typesystem_qml-java.xml @@ -205,6 +205,17 @@ + + + + + + + + + + + diff --git a/generator/typesystem/xml/typesystem_quick-common.xml b/generator/typesystem/xml/typesystem_quick-common.xml index 86930a58..8a5bd20a 100644 --- a/generator/typesystem/xml/typesystem_quick-common.xml +++ b/generator/typesystem/xml/typesystem_quick-common.xml @@ -77,6 +77,9 @@ + + + @@ -142,6 +145,8 @@ + + @@ -747,12 +752,5 @@ - - - - - - - diff --git a/generator/typesystem/xml/typesystem_quick-java.xml b/generator/typesystem/xml/typesystem_quick-java.xml index 6b1846f2..6867014d 100644 --- a/generator/typesystem/xml/typesystem_quick-java.xml +++ b/generator/typesystem/xml/typesystem_quick-java.xml @@ -651,6 +651,9 @@ + + + diff --git a/generator/typesystem/xml/typesystem_test-java.xml b/generator/typesystem/xml/typesystem_test-java.xml index f1a91265..bcafeb94 100644 --- a/generator/typesystem/xml/typesystem_test-java.xml +++ b/generator/typesystem/xml/typesystem_test-java.xml @@ -376,6 +376,12 @@ %out = qtjambi_cast<jobject>(%env, variant_%in); +#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!QMetaType(%2).iface()->copyCtr + || (!%in && !QMetaType(%2).iface()->defaultCtr)){ + JavaException::raiseUnsupportedOperationException(%env, qPrintable(QString("Unable to create result of type %1.").arg(QLatin1String(QMetaType::typeName(%2)))) QTJAMBI_STACKTRACEINFO ); + } +#endif QVariant variant_%in(QMetaType(%2), %in); %out = qtjambi_cast<jobject>(%env, variant_%in); @@ -392,6 +398,12 @@ %out = qtjambi_cast<jobject>(%env, variant_%in); +#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!QMetaType(%2).iface()->copyCtr + || (!%in && !QMetaType(%2).iface()->defaultCtr)){ + JavaException::raiseUnsupportedOperationException(%env, qPrintable(QString("Unable to create result of type %1.").arg(QLatin1String(QMetaType::typeName(%2)))) QTJAMBI_STACKTRACEINFO ); + } +#endif QVariant variant_%in(QMetaType(%2), %in); %out = qtjambi_cast<jobject>(%env, variant_%in); @@ -408,6 +420,12 @@ %out = qtjambi_cast<jobject>(%env, variant_%in); +#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!QMetaType(%2).iface()->copyCtr + || (!%in && !QMetaType(%2).iface()->defaultCtr)){ + JavaException::raiseUnsupportedOperationException(%env, qPrintable(QString("Unable to create result of type %1.").arg(QLatin1String(QMetaType::typeName(%2)))) QTJAMBI_STACKTRACEINFO ); + } +#endif QVariant variant_%in(QMetaType(%2), %in); %out = qtjambi_cast<jobject>(%env, variant_%in); diff --git a/generator/typesystem/xml/typesystem_webengine-common.xml b/generator/typesystem/xml/typesystem_webengine-common.xml index 7338ab10..82f0678d 100644 --- a/generator/typesystem/xml/typesystem_webengine-common.xml +++ b/generator/typesystem/xml/typesystem_webengine-common.xml @@ -72,6 +72,8 @@ + + diff --git a/generator/typesystem/xml/typesystem_webengine-java.xml b/generator/typesystem/xml/typesystem_webengine-java.xml index 67178b3d..71507872 100644 --- a/generator/typesystem/xml/typesystem_webengine-java.xml +++ b/generator/typesystem/xml/typesystem_webengine-java.xml @@ -43,4 +43,32 @@ ** ****************************************************************************--> + + + + + + Q_UNUSED(in) + JavaException::raiseIllegalAccessException(%env, "Calling signal downloadRequested from Java not allowed." QTJAMBI_STACKTRACEINFO ); + QQuickWebEngineDownloadItem* %out{nullptr}; + + + %out = qtjambi_cast<jobject>(%env, reinterpret_cast<QObject*>(%in)); + + + + + + + + Q_UNUSED(in) + JavaException::raiseIllegalAccessException(%env, "Calling signal downloadFinished from Java not allowed." QTJAMBI_STACKTRACEINFO ); + QQuickWebEngineDownloadItem* %out{nullptr}; + + + %out = qtjambi_cast<jobject>(%env, reinterpret_cast<QObject*>(%in)); + + + + diff --git a/generator/typesystem/xml/typesystem_webenginecore-common.xml b/generator/typesystem/xml/typesystem_webenginecore-common.xml index beaca4d3..d0975321 100644 --- a/generator/typesystem/xml/typesystem_webenginecore-common.xml +++ b/generator/typesystem/xml/typesystem_webenginecore-common.xml @@ -139,6 +139,7 @@ + diff --git a/generator/typesystem/xml/typesystem_webenginequick-common.xml b/generator/typesystem/xml/typesystem_webenginequick-common.xml index 53cb0b41..a25ca07f 100644 --- a/generator/typesystem/xml/typesystem_webenginequick-common.xml +++ b/generator/typesystem/xml/typesystem_webenginequick-common.xml @@ -66,6 +66,8 @@ + + diff --git a/generator/typesystem/xml/typesystem_webenginequick-java.xml b/generator/typesystem/xml/typesystem_webenginequick-java.xml index 78f67e53..70b15c8b 100644 --- a/generator/typesystem/xml/typesystem_webenginequick-java.xml +++ b/generator/typesystem/xml/typesystem_webenginequick-java.xml @@ -43,4 +43,40 @@ ** ****************************************************************************--> + + + + + + + + + + + + + + Q_UNUSED(in) + JavaException::raiseIllegalAccessException(%env, "Calling signal downloadRequested from Java not allowed." QTJAMBI_STACKTRACEINFO ); + QQuickWebEngineDownloadRequest* %out{nullptr}; + + + %out = qtjambi_cast<jobject>(%env, reinterpret_cast<QWebEngineDownloadRequest*>(%in)); + + + + + + + + Q_UNUSED(in) + JavaException::raiseIllegalAccessException(%env, "Calling signal downloadFinished from Java not allowed." QTJAMBI_STACKTRACEINFO ); + QQuickWebEngineDownloadRequest* %out{nullptr}; + + + %out = qtjambi_cast<jobject>(%env, reinterpret_cast<QWebEngineDownloadRequest*>(%in)); + + + + diff --git a/releases.properties b/releases.properties index 360eadff..55411040 100644 --- a/releases.properties +++ b/releases.properties @@ -1,6 +1,6 @@ -5.15=8 +5.15=9 6.0=1 6.1=1 -6.2=6 -6.3=3 +6.2=7 +6.3=4 6.4=0 \ No newline at end of file diff --git a/src/cpp/qtjambi/qnativepointer.cpp b/src/cpp/qtjambi/qnativepointer.cpp index 0150556b..25c72c31 100644 --- a/src/cpp/qtjambi/qnativepointer.cpp +++ b/src/cpp/qtjambi/qnativepointer.cpp @@ -28,11 +28,6 @@ ****************************************************************************/ #include -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif - QT_WARNING_DISABLE_DEPRECATED #include "qtjambi_core.h" diff --git a/src/cpp/qtjambi/qtjambi_containers.cpp b/src/cpp/qtjambi/qtjambi_containers.cpp index 52634999..dd418d7e 100644 --- a/src/cpp/qtjambi/qtjambi_containers.cpp +++ b/src/cpp/qtjambi/qtjambi_containers.cpp @@ -30,10 +30,6 @@ #include #include QT_WARNING_DISABLE_DEPRECATED -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif #include diff --git a/src/cpp/qtjambi/qtjambi_core.cpp b/src/cpp/qtjambi/qtjambi_core.cpp index f3d1e9a1..e54abbbe 100644 --- a/src/cpp/qtjambi/qtjambi_core.cpp +++ b/src/cpp/qtjambi/qtjambi_core.cpp @@ -37,10 +37,6 @@ #include QT_WARNING_DISABLE_DEPRECATED -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif #include @@ -489,6 +485,22 @@ jobject qtjambi_from_qvariant(JNIEnv *env, const QVariant &qt_variant) return Java::Runtime::Long::valueOf(env, qt_variant.toLongLong()); case QMetaType::Bool: return Java::Runtime::Boolean::valueOf(env, qt_variant.toBool()); + case QMetaType::QStringList: + return qtjambi_cast(env, qt_variant.value()); + case QMetaType::QByteArrayList: + return qtjambi_cast(env, qt_variant.value()); + case QMetaType::QVariantMap: + return qtjambi_cast(env, qt_variant.value()); + case QMetaType::QVariantHash: + return qtjambi_cast(env, qt_variant.value()); + case QMetaType::QVariantList: + return qtjambi_cast(env, qt_variant.value()); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + case QMetaType::QVariantPair: + return qtjambi_cast(env, qt_variant.value()); +#endif + case QMetaType::QObjectStar: + return qtjambi_cast(env, qt_variant.value()); default: break; } @@ -6842,51 +6854,46 @@ bool qtjambi_thread_affine_event_notify(void **data) if(QObject *receiver = reinterpret_cast(data[0])){ QEvent *event = reinterpret_cast(data[1]); { - QThread *currentThread = QThread::currentThread(); - QThread *thr(nullptr); if(const QObjectPrivate* p = QObjectPrivate::get(receiver)){ -#if QT_VERSION < QT_VERSION_CHECK(5,15,0) - if(p->threadData) - thr = p->threadData->thread; -#else - if(QThreadData* threadData = p->threadData.loadAcquire()) - thr = threadData->thread.loadAcquire(); -#endif - } - if(thr && currentThread != thr){ - QMetaEnum enm = QMetaEnum::fromType(); - QString eventDescr; - if(enm.isValid()){ - eventDescr = QLatin1String(enm.valueToKeys(event->type())); - }else{ - eventDescr = QString::number(int(event->type())); - } - if(QCoreApplicationPrivate::is_app_closing) - return false; - if (JNIEnv *env = qtjambi_current_environment()){ - QTJAMBI_JNI_LOCAL_FRAME(env, 200) - QtJambiExceptionHandler __exceptionHandler; - try{ - if (QSharedPointer link = QtJambiLink::findLinkForQObject(receiver)) { - JavaException::raiseQThreadAffinityException(env, qPrintable(QString::asprintf("Cannot send events to objects owned by a different thread (event type: %ls). " - "Current thread 0x%p. Receiver '%ls' (of type '%s') was created in thread 0x%p", - qUtf16Printable(eventDescr), - currentThread, qUtf16Printable(receiver->objectName()), - receiver->metaObject()->className(), thr)) QTJAMBI_STACKTRACEINFO , - link->getJavaObjectLocalRef(env), - nullptr, nullptr); - }else{ - JavaException::raiseQThreadAffinityException(env, qPrintable(QString::asprintf("Cannot send events to objects owned by a different thread (event type: %ls). " - "Current thread 0x%p. Receiver '%ls' (of type '%s') was created in thread 0x%p", - qUtf16Printable(eventDescr), - currentThread, qUtf16Printable(receiver->objectName()), - receiver->metaObject()->className(), thr)) QTJAMBI_STACKTRACEINFO , - nullptr, nullptr, nullptr); + QThreadData *thr = p->threadData; + QScopedScopeLevelCounter scopeLevelCounter(thr); + QThreadData *currentThread = QThreadData::get2(QThread::currentThread()); + QScopedScopeLevelCounter cscopeLevelCounter(currentThread); + if(thr && thr->threadId!=nullptr && currentThread != thr){ + QMetaEnum enm = QMetaEnum::fromType(); + QString eventDescr; + if(enm.isValid()){ + eventDescr = QLatin1String(enm.valueToKeys(event->type())); + }else{ + eventDescr = QString::number(int(event->type())); + } + if(QCoreApplicationPrivate::is_app_closing) + return false; + if (JNIEnv *env = qtjambi_current_environment()){ + QTJAMBI_JNI_LOCAL_FRAME(env, 200) + QtJambiExceptionHandler __exceptionHandler; + try{ + if (QSharedPointer link = QtJambiLink::findLinkForQObject(receiver)) { + JavaException::raiseQThreadAffinityException(env, qPrintable(QString::asprintf("Cannot send events to objects owned by a different thread (event type: %ls). " + "Current thread 0x%p. Receiver '%ls' (of type '%s') was created in thread 0x%p", + qUtf16Printable(eventDescr), + currentThread, qUtf16Printable(receiver->objectName()), + receiver->metaObject()->className(), thr)) QTJAMBI_STACKTRACEINFO , + link->getJavaObjectLocalRef(env), + nullptr, nullptr); + }else{ + JavaException::raiseQThreadAffinityException(env, qPrintable(QString::asprintf("Cannot send events to objects owned by a different thread (event type: %ls). " + "Current thread 0x%p. Receiver '%ls' (of type '%s') was created in thread 0x%p", + qUtf16Printable(eventDescr), + currentThread, qUtf16Printable(receiver->objectName()), + receiver->metaObject()->className(), thr)) QTJAMBI_STACKTRACEINFO , + nullptr, nullptr, nullptr); + } + }catch(const JavaException& exn){ + __exceptionHandler.handle(nullptr, exn, "QCoreApplication::sendEvent"); } - }catch(const JavaException& exn){ - __exceptionHandler.handle(nullptr, exn, "QCoreApplication::sendEvent"); + return true; } - return true; } } } diff --git a/src/cpp/qtjambi/qtjambi_functions.cpp b/src/cpp/qtjambi/qtjambi_functions.cpp index 3bfec74e..c341d7ad 100644 --- a/src/cpp/qtjambi/qtjambi_functions.cpp +++ b/src/cpp/qtjambi/qtjambi_functions.cpp @@ -36,10 +36,11 @@ ****************************************************************************/ #include + #if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 +#include #endif + #include "qtjambi_functionpointer.h" QT_WARNING_DISABLE_DEPRECATED @@ -223,9 +224,11 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiSignals_signalInfo) QByteArray signalName = qtjambi_cast(env, Java::Runtime::Field::getName(env, field)).toUtf8(); const QMetaObject* containingObjectClass = object->metaObject(); QMap matchingSignals; - for(int i=0, length = containingObjectClass->methodCount(); imethodOffset(), length = containingObjectClass->methodCount(); imethod(i); - if(method.methodType()==QMetaMethod::Signal && signalName==method.name()){ + if(method.methodType()==QMetaMethod::Signal + && signalName==method.name() + && !matchingSignals.contains(method.methodSignature())){ matchingSignals[method.methodSignature()] = method; } } @@ -288,37 +291,6 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiInternal_isObjectWrapperType) || metaTypeId == registeredMetaTypeID(typeid(JIteratorWrapper)); } -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -struct QObjectPrivate::ConnectionData -{ - // the id below is used to avoid activating new connections. When the object gets - // deleted it's set to 0, so that signal emission stops - QAtomicInteger currentConnectionId; - QAtomicInt ref; - QAtomicPointer signalVector; - Connection *senders = nullptr; - Sender *currentSender = nullptr; // object currently activating the object - QAtomicPointer orphaned; -}; - -struct QObjectPrivate::Sender -{ - Sender(QObject *receiver, QObject *sender, int signal) - : receiver(receiver), sender(sender), signal(signal) - { - if (receiver) { - ConnectionData *cd = receiver->d_func()->connections.loadRelaxed(); - previous = cd->currentSender; - cd->currentSender = this; - } - } - Sender *previous; - QObject *receiver; - QObject *sender; - int signal; -}; -#endif - extern "C" Q_DECL_EXPORT jlong JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiSignals_00024CurrentSenderSetter_setQObjectSender) (JNIEnv * env, jobject, QtJambiNativeID r, QtJambiNativeID s) @@ -1698,6 +1670,11 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiInternal__1_1qt_1createMetaTy } if(copy){ if(QSharedPointer link = QtJambiLink::findLinkForJavaInterface(env, copy)){ +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!QMetaType(id).iface()->copyCtr){ + JavaException::raiseUnsupportedOperationException(env, qPrintable(QString("Unable to create value of meta type %1 due to missing copy constructor.").arg(QLatin1String(QMetaType::typeName(id)))) QTJAMBI_STACKTRACEINFO ); + } +#endif QVariant variant(QTJAMBI_METATYPE(id), link->pointer()); return qtjambi_from_qvariant(env, variant); }else{ @@ -1715,6 +1692,11 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiInternal__1_1qt_1createMetaTy } } } +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!QMetaType(id).iface()->defaultCtr){ + JavaException::raiseUnsupportedOperationException(env, qPrintable(QString("Unable to create value of meta type %1 due to missing default constructor.").arg(QLatin1String(QMetaType::typeName(id)))) QTJAMBI_STACKTRACEINFO ); + } +#endif QVariant variant(QTJAMBI_METATYPE(id), nullptr); return qtjambi_from_qvariant(env, variant); }catch(const JavaException& exn){ @@ -2194,17 +2176,19 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiInternal_monitorExit) } extern "C" Q_DECL_EXPORT jobject JNICALL -QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiInternal_getListOfExtraSignal) - (JNIEnv *env, jclass, QtJambiNativeID sender__id) +QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiInternal_getExtraSignal) + (JNIEnv *env, jclass, QtJambiNativeID sender__id, QtJambiNativeID method__id) { try{ if(QSharedPointer sender = QtJambiLink::fromNativeId(sender__id)){ - if(sender->isSharedPointer()){ - QSharedPointerToQObjectLink* slink = static_cast(sender.data()); - return slink->getListOfExtraSignal(env); - }else{ - PointerToQObjectLink* plink = static_cast(sender.data()); - return plink->getListOfExtraSignal(env); + if(const QMetaMethod *method = qtjambi_object_from_nativeId(method__id)){ + if(sender->isSharedPointer()){ + QSharedPointerToQObjectLink* slink = static_cast(sender.data()); + return slink->getExtraSignal(env, *method); + }else{ + PointerToQObjectLink* plink = static_cast(sender.data()); + return plink->getExtraSignal(env, *method); + } } } }catch(const JavaException& exn){ @@ -2571,20 +2555,28 @@ qint64 QJarEntryEngine::size() const{ } qint64 QJarEntryEngine::read(char *data, qint64 maxlen) { + qint64 readBytes = 0; if(m_stream){ if(JNIEnv* env = qtjambi_current_environment()){ QTJAMBI_JNI_LOCAL_FRAME(env, 600) try{ - QtJambiScope __qtjambi_scope; - jbyteArray _data = qtjambi_array_cast(env, __qtjambi_scope, data, jsize(qMin(qint64(INT_MAX), maxlen))); - return Java::Runtime::InputStream::read(env, m_stream.object(), _data); + while(readBytes(env, __qtjambi_scope, data+readBytes, jsize(qMin(qint64(INT_MAX), maxlen-readBytes))); + jint r = Java::Runtime::InputStream::read(env, m_stream.object(), _data); + if(r<=0) + break; + readBytes += r; + } }catch(const JavaException& exn){ exn.report(env); - return 0; } } } - return 0; + if(readBytes==0) + return -1; + m_pos += readBytes; + return readBytes; } bool QJarEntryEngine::reset() { @@ -2607,7 +2599,24 @@ bool QJarEntryEngine::reopen() { bool QJarEntryEngine::seek(qint64 offset) { if(offset < 0) return false; + if(m_pos < offset) { + if(JNIEnv* env = qtjambi_current_environment()){ + QTJAMBI_JNI_LOCAL_FRAME(env, 600) + while (m_pos < offset) { + qint64 skipBytesRemaining = qMin(offset - m_pos, qint64(std::numeric_limits::max)); + + // InputStream#skip(long) may not skip all the requested bytes in a single invocation + qint64 skipBytesActual = Java::Runtime::InputStream::skip(env, m_stream.object(), skipBytesRemaining); + if(skipBytesActual > 0) + m_pos += skipBytesActual; // The actual number of bytes skipped + else + break; + } + } + } + if(m_pos == offset) + return true; if (!open(m_openMode)) // open() will automatically force a close() return false; if (offset < m_pos) { @@ -2615,21 +2624,23 @@ bool QJarEntryEngine::seek(qint64 offset) { return false; } - if(JNIEnv* env = qtjambi_current_environment()){ - QTJAMBI_JNI_LOCAL_FRAME(env, 600) - while (m_pos < offset) { - qint64 skipBytesRemaining = qMin(offset - m_pos, qint64(std::numeric_limits::max)); - - // InputStream#skip(long) may not skip all the requested bytes in a single invocation - qint64 skipBytesActual = Java::Runtime::InputStream::skip(env, m_stream.object(), skipBytesRemaining); - if(skipBytesActual > 0) - m_pos += skipBytesActual; // The actual number of bytes skipped - else - return false; - } - return true; + if(m_pos < offset) { + if(JNIEnv* env = qtjambi_current_environment()){ + QTJAMBI_JNI_LOCAL_FRAME(env, 600) + while (m_pos < offset) { + qint64 skipBytesRemaining = qMin(offset - m_pos, qint64(std::numeric_limits::max)); + + // InputStream#skip(long) may not skip all the requested bytes in a single invocation + qint64 skipBytesActual = Java::Runtime::InputStream::skip(env, m_stream.object(), skipBytesRemaining); + if(skipBytesActual > 0) + m_pos += skipBytesActual; // The actual number of bytes skipped + else + return false; + } + return true; + }else return false; } - return false; + return true; } #ifdef Q_OS_ANDROID diff --git a/src/cpp/qtjambi/qtjambi_future.cpp b/src/cpp/qtjambi/qtjambi_future.cpp index 72ab06f3..52830c8d 100644 --- a/src/cpp/qtjambi/qtjambi_future.cpp +++ b/src/cpp/qtjambi/qtjambi_future.cpp @@ -41,39 +41,6 @@ FutureCallOut::FutureCallOut(QSharedPointer&& sourceFuture m_resultRetranslator(resultRetranslator), m_reverseFutureCallOut(this) {} -#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0) -#define CREATE_CALLOUT_EVENT(X) QFutureCallOutEvent(X) -#define CREATE_CALLOUT_EVENT3(X,Y,Z) QFutureCallOutEvent(X,Y,Z) -#else -struct FutureCallOutEvent : public QEvent{ - explicit FutureCallOutEvent(QFutureCallOutEvent::CallOutType callOutType, int index1 = -1) - : QEvent(QEvent::FutureCallOut), callOutType(callOutType), index1(index1), index2(-1) - { } - FutureCallOutEvent(QFutureCallOutEvent::CallOutType callOutType, int index1, int index2) - : QEvent(QEvent::FutureCallOut), callOutType(callOutType), index1(index1), index2(index2) - { } - - FutureCallOutEvent(QFutureCallOutEvent::CallOutType callOutType, int index1, const QString &text) - : QEvent(QEvent::FutureCallOut), - callOutType(callOutType), - index1(index1), - index2(-1), - text(text) - { } - - static const QFutureCallOutEvent& convert(const FutureCallOutEvent& evt){ - return reinterpret_cast(evt); - } - - QFutureCallOutEvent::CallOutType callOutType; - int index1; - int index2; - QString text; -}; -#define CREATE_CALLOUT_EVENT(X) FutureCallOutEvent::convert(FutureCallOutEvent(X)) -#define CREATE_CALLOUT_EVENT3(X,Y,Z) FutureCallOutEvent::convert(FutureCallOutEvent(X,Y,Z)) -#endif - void FutureCallOut::initialize() { Q_ASSERT(!m_sourceFuture.isNull()); @@ -93,7 +60,7 @@ void FutureCallOut::initialize() const auto currentState = m_sourceFuture->d->state.loadRelaxed(); try{ if (currentState & QFutureInterfaceBase::Started) { - postCallOutEvent(CREATE_CALLOUT_EVENT(QFutureCallOutEvent::Started)); + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Started)); #if QT_VERSION < QT_VERSION_CHECK(6, 3, 0) postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::ProgressRange, m_sourceFuture->d->m_progressMinimum, @@ -103,14 +70,14 @@ void FutureCallOut::initialize() m_sourceFuture->d->m_progressText)); #else if(m_sourceFuture->d->m_progress){ - postCallOutEvent(CREATE_CALLOUT_EVENT3(QFutureCallOutEvent::ProgressRange, + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::ProgressRange, m_sourceFuture->d->m_progress->minimum, m_sourceFuture->d->m_progress->maximum)); - postCallOutEvent(CREATE_CALLOUT_EVENT3(QFutureCallOutEvent::Progress, + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Progress, m_sourceFuture->d->m_progressValue, m_sourceFuture->d->m_progress->text)); }else{ - postCallOutEvent(CREATE_CALLOUT_EVENT3(QFutureCallOutEvent::Progress, + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Progress, m_sourceFuture->d->m_progressValue, QString())); } @@ -136,7 +103,7 @@ void FutureCallOut::initialize() while (it != m_sourceFuture->d->data.m_results.end()) { const int begin = it.resultIndex(); const int end = begin + it.batchSize(); - postCallOutEvent(CREATE_CALLOUT_EVENT3(QFutureCallOutEvent::ResultsReady, + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::ResultsReady, begin, end)); @@ -150,19 +117,19 @@ void FutureCallOut::initialize() postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Paused)); #else if (currentState & QFutureInterfaceBase::Suspended) - postCallOutEvent(CREATE_CALLOUT_EVENT(QFutureCallOutEvent::Suspended)); + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Suspended)); else if (currentState & QFutureInterfaceBase::Suspending) - postCallOutEvent(CREATE_CALLOUT_EVENT(QFutureCallOutEvent::Suspending)); + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Suspending)); #endif if (currentState & QFutureInterfaceBase::Canceled) - postCallOutEvent(CREATE_CALLOUT_EVENT(QFutureCallOutEvent::Canceled)); + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Canceled)); }catch(...){ delete this; throw; } if (currentState & QFutureInterfaceBase::Finished){ - postCallOutEvent(CREATE_CALLOUT_EVENT(QFutureCallOutEvent::Finished)); + postCallOutEvent(QFutureCallOutEvent(QFutureCallOutEvent::Finished)); }else{ m_sourceFuture->d->outputConnections.append(this); QMutexLocker locker2(&m_targetFuture->d->m_mutex); diff --git a/src/cpp/qtjambi/qtjambi_plugin.cpp b/src/cpp/qtjambi/qtjambi_plugin.cpp index 02833e28..f366a97b 100644 --- a/src/cpp/qtjambi/qtjambi_plugin.cpp +++ b/src/cpp/qtjambi/qtjambi_plugin.cpp @@ -1,8 +1,4 @@ #include -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif #include #include #include diff --git a/src/cpp/qtjambi/qtjambi_registry.cpp b/src/cpp/qtjambi/qtjambi_registry.cpp index ed044169..835356c7 100644 --- a/src/cpp/qtjambi/qtjambi_registry.cpp +++ b/src/cpp/qtjambi/qtjambi_registry.cpp @@ -110,6 +110,8 @@ Q_GLOBAL_STATIC(MetaObjectHash, gOriginalMetaObjectHash) Q_GLOBAL_STATIC(MetaObjectHash, gHasCustomMetaObjectHash) typedef QHash > SignalMetaInfoHash; Q_GLOBAL_STATIC(SignalMetaInfoHash, gSignalMetaInfos) +typedef QHash > ExtraSignalsOfMetaObjectHash; +Q_GLOBAL_STATIC(ExtraSignalsOfMetaObjectHash, gExtraSignalsOfMetaObject) typedef QHash TypeIdsByMetaObjectHash; Q_GLOBAL_STATIC(TypeIdsByMetaObjectHash, gTypeIdsByMetaObject) typedef QHash QMetaMethodRenamerByMetaObjectHash; @@ -1694,6 +1696,44 @@ const QVector* signalMetaInfos(const QMetaObject* metaObje } } +QList getExtraSignalsOfMetaObject(const QMetaObject* metaObject){ + { + QReadLocker lock(gLock()); + if(gExtraSignalsOfMetaObject->contains(metaObject)) + return gExtraSignalsOfMetaObject->value(metaObject); + } + QList extraSignals; + QSet availableSignalInfos; + { + const QMetaObject* currentMetaObject = metaObject; + do{ + if(const QVector* infos = signalMetaInfos(currentMetaObject)){ + for(const SignalMetaInfo& info : *infos){ + availableSignalInfos.insert(info.signal_method_index_provider()); + } + } + currentMetaObject = currentMetaObject->superClass(); + }while(currentMetaObject); + } + const int methodCount = metaObject->methodCount(); + for(int i=0; imethod(i); + if(method.isValid() + && method.methodType()==QMetaMethod::Signal + && !availableSignalInfos.contains(method.methodIndex()) + && !QtJambiMetaObject::isInstance(method.enclosingMetaObject())){ + extraSignals << method; + } + } + { + QWriteLocker lock(gLock()); + if(gExtraSignalsOfMetaObject->contains(metaObject)) + return gExtraSignalsOfMetaObject->value(metaObject); + gExtraSignalsOfMetaObject->insert(metaObject, extraSignals); + } + return extraSignals; +} + ParameterInfoProvider registeredParameterInfoProvider(const QMetaObject* metaObject) { QReadLocker locker(gLock()); @@ -2446,6 +2486,12 @@ void clear_registry_at_shutdown(JNIEnv * env){ if(!gFieldHash.isDestroyed()) gFieldHash->clear(); } + { + QWriteLocker locker(gLock()); + Q_UNUSED(locker) + if(!gExtraSignalsOfMetaObject.isDestroyed()) + gExtraSignalsOfMetaObject->clear(); + } if(env){ #ifdef QTJAMBI_LOG_CLASSNAMES printf("DeleteGlobalRef of %i classes:\n", classIdHash.keys().size()); diff --git a/src/cpp/qtjambi/qtjambi_registry_p.h b/src/cpp/qtjambi/qtjambi_registry_p.h index 8ad8919d..b410e4bf 100644 --- a/src/cpp/qtjambi/qtjambi_registry_p.h +++ b/src/cpp/qtjambi/qtjambi_registry_p.h @@ -80,6 +80,7 @@ const std::type_info* getTypeByMetaObject(const QMetaObject* metaObject); int registeredMetaTypeID(const std::type_info& typeId); int registeredInterfaceOffset(const std::type_info& qt_base, const std::type_info& qt_interface); const QVector* signalMetaInfos(const QMetaObject* metaObject); +QList getExtraSignalsOfMetaObject(const QMetaObject* metaObject); ParameterInfoProvider registeredParameterInfoProvider(const QMetaObject* metaObject); bool isValueOwner(const QMetaObject* metaObject); const std::type_info* getTypeByMetaType(int metaType); diff --git a/src/cpp/qtjambi/qtjambi_thread.cpp b/src/cpp/qtjambi/qtjambi_thread.cpp index 54238840..440aed79 100644 --- a/src/cpp/qtjambi/qtjambi_thread.cpp +++ b/src/cpp/qtjambi/qtjambi_thread.cpp @@ -35,10 +35,6 @@ ****************************************************************************/ #include -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif QT_WARNING_DISABLE_DEPRECATED diff --git a/src/cpp/qtjambi/qtjambi_typeinfo.cpp b/src/cpp/qtjambi/qtjambi_typeinfo.cpp index f6c938c8..3ca361d6 100644 --- a/src/cpp/qtjambi/qtjambi_typeinfo.cpp +++ b/src/cpp/qtjambi/qtjambi_typeinfo.cpp @@ -29,10 +29,6 @@ #include QT_WARNING_DISABLE_DEPRECATED -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif #include #include diff --git a/src/cpp/qtjambi/qtjambilink.cpp b/src/cpp/qtjambi/qtjambilink.cpp index e0619c79..db8400cd 100644 --- a/src/cpp/qtjambi/qtjambilink.cpp +++ b/src/cpp/qtjambi/qtjambilink.cpp @@ -36,10 +36,6 @@ ****************************************************************************/ #include -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 -#endif QT_WARNING_DISABLE_DEPRECATED #include "qtjambi_core.h" @@ -429,44 +425,6 @@ jobject getNativeLink(JNIEnv *env, jobject java){ return nativeLink; } -QList extra_signals(const QMetaObject* metaObject){ - QList extraSignals; - if (!QtJambiMetaObject::isInstance(metaObject)){ - const QMetaObject* knownMetaObject = metaObject; - { - const QVector *infos = nullptr; - do{ - infos = signalMetaInfos(knownMetaObject); - if(infos!=nullptr) - break; - knownMetaObject = knownMetaObject->superClass(); - }while(knownMetaObject); - if(infos==nullptr){ - knownMetaObject = metaObject; - } - } - - if(knownMetaObject != metaObject){ - QSet knownMetaObjects; - { - const QMetaObject* parentMetaObject = knownMetaObject; - do{ - knownMetaObjects.insert(parentMetaObject); - parentMetaObject = parentMetaObject->superClass(); - }while(parentMetaObject); - } - const int methodCount = metaObject->methodCount(); - for(int i=0; imethod(i); - if(method.isValid() && !knownMetaObjects.contains(method.enclosingMetaObject()) && method.methodType()==QMetaMethod::Signal){ - extraSignals << method; - } - } - } - } - return extraSignals; -} - const QSharedPointer& QtJambiLink::createLinkForQObject(JNIEnv *env, jobject javaObject, QObject *object, bool created_by_java, bool is_shell, const QMetaObject* superTypeForCustomMetaObject) { QTJAMBI_DEBUG_METHOD_PRINT("native", "QtJambiLink::createLinkForQObject(JNIEnv *env, jobject java, QObject *object, bool created_by_java, bool hasCustomMetaObject)") @@ -487,17 +445,17 @@ const QSharedPointer& QtJambiLink::createLinkForQObject(JNIEnv *env } }else{ const QMetaObject* metaObject = object->metaObject(); - QList extraSignals = extra_signals(metaObject); + QList extraSignals = getExtraSignalsOfMetaObject(metaObject); if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ if(extraSignals.isEmpty()) qtJambiLink = new PointerToQObjectInterfaceLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, metaObject, object, created_by_java, false, is_shell, ocurredException); else - qtJambiLink = new PointerToQObjectInterfaceWithExtraSignalsLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, metaObject, object, created_by_java, false, is_shell, extraSignals, ocurredException); + qtJambiLink = new PointerToQObjectInterfaceWithExtraSignalsLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, metaObject, object, created_by_java, false, is_shell, ocurredException); }else{ if(extraSignals.isEmpty()) qtJambiLink = new PointerToQObjectLink(env, nativeLink, javaObject, metaObject, object, created_by_java, false, is_shell, ocurredException); else - qtJambiLink = new PointerToQObjectWithExtraSignalsLink(env, nativeLink, javaObject, metaObject, object, created_by_java, false, is_shell, extraSignals, ocurredException); + qtJambiLink = new PointerToQObjectWithExtraSignalsLink(env, nativeLink, javaObject, metaObject, object, created_by_java, false, is_shell, ocurredException); } } if(ocurredException.object()){ @@ -530,18 +488,18 @@ const QSharedPointer& QtJambiLink::createLinkForNewQObject(JNIEnv * qtJambiLink = new PointerToPendingQObjectLink(env, nativeLink, javaObject, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException); } }else{ - QList extraSignals = extra_signals(metaObject); + QList extraSignals = getExtraSignalsOfMetaObject(metaObject); if(interfaceOffsets && !interfaceOffsets->offsets.isEmpty()){ if(extraSignals.isEmpty()){ qtJambiLink = new PointerToQObjectInterfaceLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException); }else{ - qtJambiLink = new PointerToQObjectInterfaceWithExtraSignalsLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, metaObject, object, created_by_java, isDeclarativeCall, is_shell, extraSignals, ocurredException); + qtJambiLink = new PointerToQObjectInterfaceWithExtraSignalsLink(env, nativeLink, javaObject, interfaceOffsets->offsets, interfaceOffsets->interfaces, interfaceOffsets->inheritedInterfaces, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException); } }else{ if(extraSignals.isEmpty()){ qtJambiLink = new PointerToQObjectLink(env, nativeLink, javaObject, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException); }else{ - qtJambiLink = new PointerToQObjectWithExtraSignalsLink(env, nativeLink, javaObject, metaObject, object, created_by_java, isDeclarativeCall, is_shell, extraSignals, ocurredException); + qtJambiLink = new PointerToQObjectWithExtraSignalsLink(env, nativeLink, javaObject, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException); } } } @@ -2462,11 +2420,10 @@ void DeletablePointerToObjectLink::deleteNativeObject(JNIEnv *env, bool forced) // ### BEGIN ################### PointerToQObjectLink ###################### BEGIN #### void qtjambi_resolve_signals(JNIEnv *env, jobject java_object, const QMetaObject* metaObject, JavaException& ocurredException); -const QHash qtjambi_resolve_extra_signals(JNIEnv *env, jobject java_object, const QList& extraSignals, JavaException& ocurredException); +JObjectWrapper qtjambi_resolve_extra_signal(JNIEnv *env, jobject java_object, const QMetaMethod& method); -PointerToQObjectWithExtraSignalsLink::PointerToQObjectWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMetaObject* metaObject, QObject *object, bool created_by_java, bool isDeclarativeCall, bool is_shell, const QList& extraSignals, JavaException& ocurredException) - : PointerToQObjectLink(env, nativeLink, jobj, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException), - m_extraSignals(qtjambi_resolve_extra_signals(env, jobj, extraSignals, ocurredException)) +PointerToQObjectWithExtraSignalsLink::PointerToQObjectWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMetaObject* metaObject, QObject *object, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException) + : PointerToQObjectLink(env, nativeLink, jobj, metaObject, object, created_by_java, isDeclarativeCall, is_shell, ocurredException) { } @@ -3006,11 +2963,11 @@ QSharedPointerToQObjectLink::QSharedPointerToQObjectLink(JNIEnv *env, jobject na if(superTypeForCustomMetaObject){ m_pointerContainer = new PointerContainerWithPendingExtraSignals(env, local, superTypeForCustomMetaObject, this->getStrongPointer(), ptr_shared_pointer, isShell(), shared_pointer_deleter, pointerGetter, ocurredException); }else{ - QList extraSignals = extra_signals(metaObject); + QList extraSignals = getExtraSignalsOfMetaObject(metaObject); if(extraSignals.isEmpty()) m_pointerContainer = new PointerContainer(env, local, metaObject, this->getStrongPointer(), ptr_shared_pointer, isShell(), shared_pointer_deleter, pointerGetter, ocurredException); else - m_pointerContainer = new PointerContainerWithExtraSignals(env, local, metaObject, this->getStrongPointer(), ptr_shared_pointer, isShell(), shared_pointer_deleter, pointerGetter, extraSignals, ocurredException); + m_pointerContainer = new PointerContainerWithExtraSignals(env, local, metaObject, this->getStrongPointer(), ptr_shared_pointer, isShell(), shared_pointer_deleter, pointerGetter, ocurredException); } } if(!ocurredException.object()){ @@ -3219,23 +3176,8 @@ bool QSharedPointerToObjectLink::isQObject() const { return false; } -jobject PointerToQObjectLink::getListOfExtraSignal(JNIEnv * env) const{ - return qtjambi_arraylist_new(env, 0); -} - -void PointerToPendingQObjectLink::resolveListOfExtraSignal(JNIEnv * env) const{ - JavaException ocurredException; - if(jobject jobj = getJavaObjectLocalRef(env)){ - if(QObject* object = qobject()){ - m_metaObject = object->metaObject(); - QList extraSignals = extra_signals(m_metaObject); - m_extraSignals = qtjambi_resolve_extra_signals(env, jobj, extraSignals, ocurredException); - env->DeleteLocalRef(jobj); - } - } - const_cast(this)->m_flags.setFlag(Flag::IsPendingObjectResolved); - if(ocurredException.object()) - ocurredException.raise(); +jobject PointerToQObjectLink::getExtraSignal(JNIEnv*, const QMetaMethod&) const{ + return nullptr; } PointerToPendingQObjectLink::PointerToPendingQObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException) @@ -3277,19 +3219,25 @@ void PointerToPendingQObjectLink::init(JNIEnv* env){ } } -jobject PointerToPendingQObjectLink::getListOfExtraSignal(JNIEnv * env) const{ - if(!m_flags.testFlag(Flag::IsPendingObjectResolved)){ - resolveListOfExtraSignal(env); - }else if(QObject* object = qobject()){ - if(m_metaObject != object->metaObject()) - resolveListOfExtraSignal(env); - } - jobject result = qtjambi_arraylist_new(env, 0); - for(const QtJambiSignalInfo& info : m_extraSignals){ - if(info.signalObject()) - qtjambi_collection_add(env, result, env->NewLocalRef(info.signalObject())); +jobject PointerToPendingQObjectLink::getExtraSignal(JNIEnv * env, const QMetaMethod& method) const{ + if(QObject* object = qobject()){ + QList extraSignals = getExtraSignalsOfMetaObject(object->metaObject()); + if(extraSignals.contains(method)){ + QReadLocker rlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())){ + rlocker.unlock(); + JObjectWrapper signal = qtjambi_resolve_extra_signal(env, getJavaObjectLocalRef(env), method); + { + QWriteLocker wlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())) + m_extraSignals[method.methodIndex()] = signal; + } + rlocker.relock(); + } + return m_extraSignals.value(method.methodIndex()).object(); + } } - return result; + return nullptr; } PointerToPendingQObjectInterfaceLink::PointerToPendingQObjectInterfaceLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMap& interfaceOffsets, const QSet& interfaces, const QMap>& inheritedInterfaces, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException) @@ -3331,56 +3279,71 @@ void PointerToPendingQObjectInterfaceLink::init(JNIEnv* env){ } } -void PointerToPendingQObjectInterfaceLink::resolveListOfExtraSignal(JNIEnv * env) const{ - JavaException ocurredException; - if(jobject jobj = getJavaObjectLocalRef(env)){ - if(QObject* object = qobject()){ - m_metaObject = object->metaObject(); - QList extraSignals = extra_signals(m_metaObject); - m_extraSignals = qtjambi_resolve_extra_signals(env, jobj, extraSignals, ocurredException); - env->DeleteLocalRef(jobj); +jobject PointerToPendingQObjectInterfaceLink::getExtraSignal(JNIEnv * env, const QMetaMethod& method) const{ + if(QObject* object = qobject()){ + QList extraSignals = getExtraSignalsOfMetaObject(object->metaObject()); + if(extraSignals.contains(method)){ + QReadLocker rlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())){ + rlocker.unlock(); + JObjectWrapper signal = qtjambi_resolve_extra_signal(env, getJavaObjectLocalRef(env), method); + { + QWriteLocker wlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())) + m_extraSignals[method.methodIndex()] = signal; + } + rlocker.relock(); + } + return m_extraSignals.value(method.methodIndex()).object(); } } - const_cast(this)->m_flags.setFlag(Flag::IsPendingObjectResolved); - if(ocurredException.object()) - ocurredException.raise(); + return nullptr; } -jobject PointerToPendingQObjectInterfaceLink::getListOfExtraSignal(JNIEnv * env) const{ - if(!m_flags.testFlag(Flag::IsPendingObjectResolved)){ - resolveListOfExtraSignal(env); - }else if(QObject* object = qobject()){ - if(m_metaObject != object->metaObject()) - resolveListOfExtraSignal(env); - } - jobject result = qtjambi_arraylist_new(env, 0); - for(const QtJambiSignalInfo& info : m_extraSignals){ - if(info.signalObject()) - qtjambi_collection_add(env, result, env->NewLocalRef(info.signalObject())); - } - return result; -} - -jobject PointerToQObjectWithExtraSignalsLink::getListOfExtraSignal(JNIEnv * env) const{ - jobject result = qtjambi_arraylist_new(env, 0); - for(const QtJambiSignalInfo& info : m_extraSignals){ - if(info.signalObject()) - qtjambi_collection_add(env, result, env->NewLocalRef(info.signalObject())); +jobject PointerToQObjectWithExtraSignalsLink::getExtraSignal(JNIEnv * env, const QMetaMethod& method) const{ + if(QObject* object = qobject()){ + QList extraSignals = getExtraSignalsOfMetaObject(object->metaObject()); + if(extraSignals.contains(method)){ + QReadLocker rlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())){ + rlocker.unlock(); + JObjectWrapper signal = qtjambi_resolve_extra_signal(env, getJavaObjectLocalRef(env), method); + { + QWriteLocker wlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())) + m_extraSignals[method.methodIndex()] = signal; + } + rlocker.relock(); + } + return m_extraSignals.value(method.methodIndex()).object(); + } } - return result; + return nullptr; } -jobject PointerToQObjectInterfaceWithExtraSignalsLink::getListOfExtraSignal(JNIEnv * env) const{ - jobject result = qtjambi_arraylist_new(env, 0); - for(const QtJambiSignalInfo& info : m_extraSignals){ - if(info.signalObject()) - qtjambi_collection_add(env, result, env->NewLocalRef(info.signalObject())); +jobject PointerToQObjectInterfaceWithExtraSignalsLink::getExtraSignal(JNIEnv * env, const QMetaMethod& method) const{ + if(QObject* object = qobject()){ + QList extraSignals = getExtraSignalsOfMetaObject(object->metaObject()); + if(extraSignals.contains(method)){ + QReadLocker rlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())){ + rlocker.unlock(); + JObjectWrapper signal = qtjambi_resolve_extra_signal(env, getJavaObjectLocalRef(env), method); + { + QWriteLocker wlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())) + m_extraSignals[method.methodIndex()] = signal; + } + rlocker.relock(); + } + return m_extraSignals.value(method.methodIndex()).object(); + } } - return result; + return nullptr; } -jobject PointerContainer::getListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink*) const{ - return qtjambi_arraylist_new(env, 0); +jobject PointerContainer::getExtraSignal(JNIEnv *, const QSharedPointerToQObjectLink*, const QMetaMethod&) const{ + return nullptr; } QString PointerToObjectLink::describe() const{ @@ -3437,8 +3400,8 @@ QString QSharedPointerToObjectLink::describe() const{ return strg; } -jobject QSharedPointerToQObjectLink::getListOfExtraSignal(JNIEnv * env) const{ - return m_pointerContainer->getListOfExtraSignal(env, this); +jobject QSharedPointerToQObjectLink::getExtraSignal(JNIEnv * env, const QMetaMethod& method) const{ + return m_pointerContainer->getExtraSignal(env, this, method); } void QSharedPointerToQObjectLink::removeInterface(const std::type_info&){ @@ -3466,20 +3429,30 @@ QString QSharedPointerToQObjectLink::describe() const{ // ### END ################# QSharedPointerToQObjectLink ################### END ### -PointerContainerWithExtraSignals::PointerContainerWithExtraSignals(JNIEnv* env, jobject jobj, const QMetaObject* metaObject, const QSharedPointer& link, void* ptr_shared_pointer, bool isShell, PointerDeleter shared_pointer_deleter, PointerQObjectGetterFunction pointerGetter, const QList& extraSignals, JavaException& ocurredException) - : PointerContainer(env, jobj, metaObject, link, ptr_shared_pointer, isShell, shared_pointer_deleter, pointerGetter, ocurredException), - m_extraSignals(qtjambi_resolve_extra_signals(env, jobj, extraSignals, ocurredException)) +PointerContainerWithExtraSignals::PointerContainerWithExtraSignals(JNIEnv* env, jobject jobj, const QMetaObject* metaObject, const QSharedPointer& link, void* ptr_shared_pointer, bool isShell, PointerDeleter shared_pointer_deleter, PointerQObjectGetterFunction pointerGetter, JavaException& ocurredException) + : PointerContainer(env, jobj, metaObject, link, ptr_shared_pointer, isShell, shared_pointer_deleter, pointerGetter, ocurredException) { - } -jobject PointerContainerWithExtraSignals::getListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink*) const{ - jobject result = qtjambi_arraylist_new(env, 0); - for(const QtJambiSignalInfo& info : m_extraSignals){ - if(info.signalObject()) - qtjambi_collection_add(env, result, env->NewLocalRef(info.signalObject())); +jobject PointerContainerWithExtraSignals::getExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link, const QMetaMethod& method) const{ + if(QObject* object = qobject()){ + QList extraSignals = getExtraSignalsOfMetaObject(object->metaObject()); + if(extraSignals.contains(method)){ + QReadLocker rlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())){ + rlocker.unlock(); + JObjectWrapper signal = qtjambi_resolve_extra_signal(env, link->getJavaObjectLocalRef(env), method); + { + QWriteLocker wlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())) + m_extraSignals[method.methodIndex()] = signal; + } + rlocker.relock(); + } + return m_extraSignals.value(method.methodIndex()).object(); + } } - return result; + return nullptr; } PointerContainerWithPendingExtraSignals::PointerContainerWithPendingExtraSignals(JNIEnv* env, jobject jobj, const QMetaObject* metaObject, const QSharedPointer& link, void* ptr_shared_pointer, bool isShell, PointerDeleter shared_pointer_deleter, PointerQObjectGetterFunction pointerGetter, JavaException& ocurredException) @@ -3490,34 +3463,25 @@ PointerContainerWithPendingExtraSignals::PointerContainerWithPendingExtraSignals } -void PointerContainerWithPendingExtraSignals::resolveListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link) const { - JavaException ocurredException; - if(jobject jobj = link->getJavaObjectLocalRef(env)){ - if(QObject* object = qobject()){ - m_metaObject = object->metaObject(); - QList extraSignals = extra_signals(m_metaObject); - m_extraSignals = qtjambi_resolve_extra_signals(env, jobj, extraSignals, ocurredException); - env->DeleteLocalRef(jobj); +jobject PointerContainerWithPendingExtraSignals::getExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link, const QMetaMethod& method) const{ + if(QObject* object = qobject()){ + QList extraSignals = getExtraSignalsOfMetaObject(object->metaObject()); + if(extraSignals.contains(method)){ + QReadLocker rlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())){ + rlocker.unlock(); + JObjectWrapper signal = qtjambi_resolve_extra_signal(env, link->getJavaObjectLocalRef(env), method); + { + QWriteLocker wlocker(QtJambiLinkUserData::lock()); + if(!m_extraSignals.contains(method.methodIndex())) + m_extraSignals[method.methodIndex()] = signal; + } + rlocker.relock(); + } + return m_extraSignals.value(method.methodIndex()).object(); } } - const_cast(link)->m_flags.setFlag(QtJambiLink::Flag::IsPendingObjectResolved); - if(ocurredException.object()) - ocurredException.raise(); -} - -jobject PointerContainerWithPendingExtraSignals::getListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link) const{ - if(!link->m_flags.testFlag(QtJambiLink::Flag::IsPendingObjectResolved)){ - resolveListOfExtraSignal(env, link); - }else if(QObject* object = qobject()){ - if(m_metaObject != object->metaObject()) - resolveListOfExtraSignal(env, link); - } - jobject result = qtjambi_arraylist_new(env, 0); - for(const QtJambiSignalInfo& info : m_extraSignals){ - if(info.signalObject()) - qtjambi_collection_add(env, result, env->NewLocalRef(info.signalObject())); - } - return result; + return nullptr; } @@ -3567,9 +3531,8 @@ void* PointerContainer::getSharedPointer() const{ return m_ptr_shared_pointer; } -PointerToQObjectInterfaceWithExtraSignalsLink::PointerToQObjectInterfaceWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMap& interfaceOffsets, const QSet& interfaces, const QMap>& inheritedInterfaces, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, const QList& extraSignals, JavaException& ocurredException) - : PointerToQObjectInterfaceLink(env, nativeLink, jobj, interfaceOffsets, interfaces, inheritedInterfaces, metaObject, ptr, created_by_java, isDeclarativeCall, is_shell, ocurredException), - m_extraSignals(qtjambi_resolve_extra_signals(env, jobj, extraSignals, ocurredException)) +PointerToQObjectInterfaceWithExtraSignalsLink::PointerToQObjectInterfaceWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMap& interfaceOffsets, const QSet& interfaces, const QMap>& inheritedInterfaces, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException) + : PointerToQObjectInterfaceLink(env, nativeLink, jobj, interfaceOffsets, interfaces, inheritedInterfaces, metaObject, ptr, created_by_java, isDeclarativeCall, is_shell, ocurredException) { } @@ -3756,31 +3719,6 @@ QObject* PointerContainer::qobject() const{ return m_ptr_shared_pointer && m_shared_pointer_getter ? m_shared_pointer_getter(m_ptr_shared_pointer) : nullptr; } -QtJambiSignalInfo::QtJambiSignalInfo(const QtJambiSignalInfo & info): - m_signalObject(info.m_signalObject) -{} - -QtJambiSignalInfo::QtJambiSignalInfo(QtJambiSignalInfo && info): - m_signalObject(info.m_signalObject) -{} - -QtJambiSignalInfo::QtJambiSignalInfo(): m_signalObject() -{} - -QtJambiSignalInfo::QtJambiSignalInfo(JNIEnv* env, jobject object, bool global) - : m_signalObject(env, object, global) -{} - -QtJambiSignalInfo & QtJambiSignalInfo::operator =(const QtJambiSignalInfo & info) -{ - m_signalObject = info.m_signalObject; - return *this; -} - -jobject QtJambiSignalInfo::signalObject() const{ - return m_signalObject.object(); -} - void qtjambi_set_java_ownership_for_toplevel_object(JNIEnv *env, QObject* qobject) { if(qobject && !qobject->parent()){ @@ -4160,67 +4098,56 @@ void qtjambi_resolve_signals(JNIEnv *env, jobject java_object, const QMetaObject } } -const QHash qtjambi_resolve_extra_signals(JNIEnv *env, jobject java_object, const QList& extraSignals, JavaException& ocurredException){ - QHash sinfos; - if(!ocurredException.object()){ - try{ - sinfos.reserve(extraSignals.size()); - QSet convertedMetaObjects; - for(QMetaMethod method : extraSignals){ - jobject signalObject = nullptr; - switch(method.parameterCount()){ - case 0: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal0::newInstance(env, java_object); - break; - case 1: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal1::newInstance(env, java_object); - break; - case 2: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal2::newInstance(env, java_object); - break; - case 3: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal3::newInstance(env, java_object); - break; - case 4: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal4::newInstance(env, java_object); - break; - case 5: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal5::newInstance(env, java_object); - break; - case 6: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal6::newInstance(env, java_object); - break; - case 7: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal7::newInstance(env, java_object); - break; - case 8: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal8::newInstance(env, java_object); - break; - case 9: - signalObject = Java::QtJambi::QInstanceMemberSignals$Signal9::newInstance(env, java_object); - break; - default: - break; - } - if(signalObject){ - { - const QMetaObject* parentMetaObject = method.enclosingMetaObject(); - while(parentMetaObject && !convertedMetaObjects.contains(parentMetaObject)){ - qtjambi_cast(env, parentMetaObject); - convertedMetaObjects.insert(parentMetaObject); - parentMetaObject = parentMetaObject->superClass(); - } - } - jobject signalTypes = qtjambi_get_signal_types(env, nullptr, method); - Java::QtJambi::QtJambiSignals$AbstractSignal::initializeSignal(env, signalObject, env->GetObjectClass(java_object), signalTypes, method.methodIndex(), jlong(method.enclosingMetaObject())); - sinfos.insert(method.methodIndex(), QtJambiSignalInfo(env, signalObject, true)); - }else{ - sinfos.insert(method.methodIndex(), QtJambiSignalInfo()); - } +JObjectWrapper qtjambi_resolve_extra_signal(JNIEnv *env, jobject java_object, const QMetaMethod& method){ + QSet convertedMetaObjects; + jobject signalObject = nullptr; + switch(method.parameterCount()){ + case 0: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal0::newInstance(env, java_object); + break; + case 1: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal1::newInstance(env, java_object); + break; + case 2: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal2::newInstance(env, java_object); + break; + case 3: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal3::newInstance(env, java_object); + break; + case 4: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal4::newInstance(env, java_object); + break; + case 5: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal5::newInstance(env, java_object); + break; + case 6: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal6::newInstance(env, java_object); + break; + case 7: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal7::newInstance(env, java_object); + break; + case 8: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal8::newInstance(env, java_object); + break; + case 9: + signalObject = Java::QtJambi::QInstanceMemberSignals$Signal9::newInstance(env, java_object); + break; + default: + break; + } + if(signalObject){ + { + const QMetaObject* parentMetaObject = method.enclosingMetaObject(); + while(parentMetaObject && !convertedMetaObjects.contains(parentMetaObject)){ + qtjambi_cast(env, parentMetaObject); + convertedMetaObjects.insert(parentMetaObject); + parentMetaObject = parentMetaObject->superClass(); } - }catch(const JavaException& exn){ - ocurredException.addSuppressed(env, exn); } + jobject signalTypes = qtjambi_get_signal_types(env, nullptr, method); + Java::QtJambi::QtJambiSignals$AbstractSignal::initializeSignal(env, signalObject, env->GetObjectClass(java_object), signalTypes, method.methodIndex(), jlong(method.enclosingMetaObject())); + return JObjectWrapper(env, signalObject, true); + }else{ + return JObjectWrapper(); } - return sinfos; } diff --git a/src/cpp/qtjambi/qtjambilink_p.h b/src/cpp/qtjambi/qtjambilink_p.h index a40e8a97..b29a20ed 100644 --- a/src/cpp/qtjambi/qtjambilink_p.h +++ b/src/cpp/qtjambi/qtjambilink_p.h @@ -110,20 +110,6 @@ class JObjectSynchronizer{ const bool monitor; }; -class QtJambiSignalInfo -{ -public: - QtJambiSignalInfo(const QtJambiSignalInfo & info); - QtJambiSignalInfo(QtJambiSignalInfo && info); - QtJambiSignalInfo(); - QtJambiSignalInfo(JNIEnv* env, jobject object, bool global); - - QtJambiSignalInfo & operator =(const QtJambiSignalInfo & info); - jobject signalObject() const; -private: - JObjectWrapper m_signalObject; -}; - typedef std::function PointerQObjectGetterFunction; class QtJambiLink; @@ -171,7 +157,7 @@ class PointerContainer : public QObject{ ~PointerContainer() override; void* getSharedPointer() const; QObject *qobject() const; - virtual jobject getListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link) const; + virtual jobject getExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link, const QMetaMethod& method) const; void setAsQObjectDeleted(); private: void* m_ptr_shared_pointer; @@ -183,21 +169,20 @@ class PointerContainer : public QObject{ class PointerContainerWithExtraSignals : public PointerContainer{ public: - explicit PointerContainerWithExtraSignals(JNIEnv* env, jobject jobj, const QMetaObject* metaObject, const QSharedPointer& link, void* ptr_shared_pointer, bool isShell, PointerDeleter shared_pointer_deleter, PointerQObjectGetterFunction pointerGetter, const QList& extraSignals, JavaException& ocurredException); + explicit PointerContainerWithExtraSignals(JNIEnv* env, jobject jobj, const QMetaObject* metaObject, const QSharedPointer& link, void* ptr_shared_pointer, bool isShell, PointerDeleter shared_pointer_deleter, PointerQObjectGetterFunction pointerGetter, JavaException& ocurredException); ~PointerContainerWithExtraSignals() override = default; - jobject getListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link) const override; + jobject getExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link, const QMetaMethod& method) const override; private: - const QHash m_extraSignals; + mutable QHash m_extraSignals; }; class PointerContainerWithPendingExtraSignals : public PointerContainer{ public: explicit PointerContainerWithPendingExtraSignals(JNIEnv* env, jobject jobj, const QMetaObject* metaObject, const QSharedPointer& link, void* ptr_shared_pointer, bool isShell, PointerDeleter shared_pointer_deleter, PointerQObjectGetterFunction pointerGetter, JavaException& ocurredException); ~PointerContainerWithPendingExtraSignals() override = default; - jobject getListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link) const override; + jobject getExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link, const QMetaMethod& method) const override; private: - void resolveListOfExtraSignal(JNIEnv * env, const QSharedPointerToQObjectLink* link) const; - mutable QHash m_extraSignals; + mutable QHash m_extraSignals; mutable const QMetaObject* m_metaObject; }; @@ -629,7 +614,7 @@ class PointerToQObjectLink : public QtJambiLink{ void onDispose(JNIEnv *env) override; void onClean(JNIEnv *env) override; void invalidate(JNIEnv *env) override; - virtual jobject getListOfExtraSignal(JNIEnv * env) const; + virtual jobject getExtraSignal(JNIEnv * env, const QMetaMethod& method) const; QString describe() const override; void init(JNIEnv* env) override; void removeInterface(const std::type_info&) override; @@ -641,12 +626,12 @@ class PointerToQObjectLink : public QtJambiLink{ class PointerToQObjectWithExtraSignalsLink : public PointerToQObjectLink{ protected: - PointerToQObjectWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, const QList& extraSignals, JavaException& ocurredException); + PointerToQObjectWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException); public: ~PointerToQObjectWithExtraSignalsLink() override = default; - jobject getListOfExtraSignal(JNIEnv * env) const override; + jobject getExtraSignal(JNIEnv * env, const QMetaMethod& method) const override; private: - QHash m_extraSignals; + mutable QHash m_extraSignals; friend QtJambiLink; }; @@ -655,11 +640,10 @@ class PointerToPendingQObjectLink : public PointerToQObjectLink{ PointerToPendingQObjectLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException); public: ~PointerToPendingQObjectLink() override = default; - jobject getListOfExtraSignal(JNIEnv * env) const override; + jobject getExtraSignal(JNIEnv * env, const QMetaMethod& method) const override; void init(JNIEnv* env) override; private: - void resolveListOfExtraSignal(JNIEnv * env) const; - mutable QHash m_extraSignals; + mutable QHash m_extraSignals; mutable const QMetaObject* m_metaObject; friend QtJambiLink; }; @@ -749,7 +733,7 @@ class QSharedPointerToQObjectLink : public QSharedPointerLink{ QString describe() const override; void removeInterface(const std::type_info&) override; bool isDeleteLater() const { return m_flags.testFlag(Flag::IsDeleteLater); } - jobject getListOfExtraSignal(JNIEnv * env) const; + jobject getExtraSignal(JNIEnv * env, const QMetaMethod& method) const; private: void setDeleteLater(){ m_flags.setFlag(Flag::IsDeleteLater); } PointerContainer* m_pointerContainer; @@ -779,25 +763,24 @@ class PointerToPendingQObjectInterfaceLink : public PointerToQObjectInterfaceLin PointerToPendingQObjectInterfaceLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMap& interfaceOffsets, const QSet& interfaces, const QMap>& inheritedInterfaces, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException); public: ~PointerToPendingQObjectInterfaceLink() override = default; - jobject getListOfExtraSignal(JNIEnv * env) const override; + jobject getExtraSignal(JNIEnv * env, const QMetaMethod& method) const override; void init(JNIEnv* env) override; private: - void resolveListOfExtraSignal(JNIEnv * env) const; - mutable QHash m_extraSignals; + mutable QHash m_extraSignals; mutable const QMetaObject* m_metaObject; friend QtJambiLink; }; class PointerToQObjectInterfaceWithExtraSignalsLink : public PointerToQObjectInterfaceLink{ protected: - PointerToQObjectInterfaceWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMap& interfaceOffsets, const QSet& interfaces, const QMap>& inheritedInterfaces, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, const QList& extraSignals, JavaException& ocurredException); + PointerToQObjectInterfaceWithExtraSignalsLink(JNIEnv *env, jobject nativeLink, jobject jobj, const QMap& interfaceOffsets, const QSet& interfaces, const QMap>& inheritedInterfaces, const QMetaObject* metaObject, QObject *ptr, bool created_by_java, bool isDeclarativeCall, bool is_shell, JavaException& ocurredException); public: ~PointerToQObjectInterfaceWithExtraSignalsLink() override = default; - jobject getListOfExtraSignal(JNIEnv * env) const override; + jobject getExtraSignal(JNIEnv * env, const QMetaMethod& method) const override; private: friend QtJambiLink; friend class PointerToQObjectInterfaceWithDetectedExtraSignalsLink; - QHash m_extraSignals; + mutable QHash m_extraSignals; }; class QSharedPointerToObjectInterfaceLink : public QSharedPointerToObjectLink{ diff --git a/src/cpp/qtjambi/qtjambimetaobject.cpp b/src/cpp/qtjambi/qtjambimetaobject.cpp index 7963eb78..3896cc1b 100644 --- a/src/cpp/qtjambi/qtjambimetaobject.cpp +++ b/src/cpp/qtjambi/qtjambimetaobject.cpp @@ -1221,16 +1221,25 @@ void QtJambiMetaObject::registerQPropertyField(int index, jfieldID field){ #endif //QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) jclass QtJambiMetaObject::javaClass(JNIEnv * env, const QMetaObject* metaObject, bool exactOrNull){ - if(const QtJambiMetaObject* dynamicMetaObject = QtJambiMetaObject::cast(metaObject)){ + if(!metaObject){ + return nullptr; + }else if(const QtJambiMetaObject* dynamicMetaObject = QtJambiMetaObject::cast(metaObject)){ return jclass(env->NewLocalRef(dynamicMetaObject->javaClass())); }else{ if(const std::type_info* typeId = getTypeByMetaObject(metaObject)){ jclass result = env->FindClass(getJavaName(*typeId)); qtjambi_throw_java_exception(env); return result; - }else if(exactOrNull){ + }else if(const std::type_info* typeId = getTypeByQtName(metaObject->className())){ + if(!registeredOriginalMetaObject(*typeId)){ + jclass result = env->FindClass(getJavaName(*typeId)); + qtjambi_throw_java_exception(env); + return result; + } + } + if(exactOrNull){ return nullptr; - }else if(metaObject && metaObject->superClass()){ + }else if(metaObject->superClass()){ return javaClass(env, metaObject->superClass(), exactOrNull); }else{ return Java::QtJambi::QtGadget::getClass(env); diff --git a/src/cpp/qtjambi/qtjambisignals.cpp b/src/cpp/qtjambi/qtjambisignals.cpp index 46c3dd9c..c75d30a7 100644 --- a/src/cpp/qtjambi/qtjambisignals.cpp +++ b/src/cpp/qtjambi/qtjambisignals.cpp @@ -36,10 +36,11 @@ ****************************************************************************/ #include + #if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -# define QT_CORE_INLINE_SINCE(major, minor) inline -# define QT_CORE_INLINE_IMPL_SINCE(major, minor) 1 +#include #endif + QT_WARNING_DISABLE_DEPRECATED #include "qtjambi_core.h" #include "qtjambi_repository_p.h" @@ -426,48 +427,6 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_internal_QtJambiSignals_00024NativeConnection return false; } -#if QT_VERSION >= QT_VERSION_CHECK(6,4,0) -struct QObjectPrivate::ConnectionOrSignalVector -{ - union { - // linked list of orphaned connections that need cleaning up - ConnectionOrSignalVector *nextInOrphanList; - // linked list of connections connected to slots in this object - Connection *next; - }; -}; - -struct QObjectPrivate::Connection : public ConnectionOrSignalVector -{ - // linked list of connections connected to slots in this object, next is in base class - Connection **prev; - // linked list of connections connected to signals in this object - QAtomicPointer nextConnectionList; - Connection *prevConnectionList; - - QObject *sender; - QAtomicPointer receiver; - QAtomicPointer receiverThreadData; - union { - StaticMetaCallFunction callFunction; - QtPrivate::QSlotObjectBase *slotObj; - }; - QAtomicPointer argumentTypes; - QAtomicInt ref_{2}; //ref_ is 2 for the use in the internal lists, and for the use in QMetaObject::Connection - uint id = 0; - ushort method_offset; - ushort method_relative; - signed int signal_index : 27; // In signal range (see QObjectPrivate::signalIndex()) - ushort connectionType : 2; // 0 == auto, 1 == direct, 2 == queued, 3 == blocking - ushort isSlotObject : 1; - ushort ownArgumentTypes : 1; - ushort isSingleShot : 1; - Connection() = delete; - ~Connection() = delete; - int method() const { Q_ASSERT(!isSlotObject); return method_offset + method_relative; } -}; -#endif - QObject* connectionSender(const QMetaObject::Connection* connection){ if(connection && *connection){ void * ptr = reinterpret_cast(connection)->d_ptr; diff --git a/src/cpp/qtjambi/qtjambitypemanager.cpp b/src/cpp/qtjambi/qtjambitypemanager.cpp index f6e9a7ec..f9db1043 100644 --- a/src/cpp/qtjambi/qtjambitypemanager.cpp +++ b/src/cpp/qtjambi/qtjambitypemanager.cpp @@ -700,6 +700,14 @@ QString QtJambiTypeManager::getExternalTypeName(JNIEnv* environment, const QStri case QMetaType::LongLong: case QMetaType::ULongLong: return "long"; case QMetaType::Bool: return "boolean"; + case QMetaType::QStringList: return "io/qt/core/QStringList"; + case QMetaType::QByteArrayList: return "io/qt/core/QList"; + case QMetaType::QVariantMap: return "io/qt/core/QMap"; + case QMetaType::QVariantHash: return "io/qt/core/QHash"; + case QMetaType::QVariantList: return "io/qt/core/QList"; +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + case QMetaType::QVariantPair: return "io/qt/core/QPair"; +#endif case QMetaType::VoidStar: return "io/qt/QNativePointer"; default: break; @@ -738,10 +746,42 @@ QString QtJambiTypeManager::getExternalTypeName(JNIEnv* environment, const QStri return QLatin1String("java/lang/Enum"); else if (_internalTypeName=="JQFlagsWrapper") return QLatin1String("io/qt/QFlags"); - else if (_internalTypeName.startsWith("QPair<") && _internalTypeName.endsWith(">")) - return QLatin1String("io/qt/core/QPair"); - else if (_internalTypeName.startsWith("std::pair<") && _internalTypeName.endsWith(">")) + else if ((_internalTypeName.startsWith("std::pair<") || _internalTypeName.startsWith("QPair<")) && _internalTypeName.endsWith(">")) return QLatin1String("io/qt/core/QPair"); + else if (_internalTypeName.startsWith("QMap<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QMap"); + else if (_internalTypeName.startsWith("QMultiMap<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QMultiMap"); + else if (_internalTypeName.startsWith("QHash<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QHash"); + else if (_internalTypeName.startsWith("QMultiHash<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QMultiHash"); + else if (_internalTypeName.startsWith("QLinkedList<") && _internalTypeName.endsWith(">")) +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + return QLatin1String("java/util/LinkedList"); +#else + return QLatin1String("io/qt/core/QLinkedList"); +#endif + else if (_internalTypeName.startsWith("QList<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QList"); + else if (_internalTypeName.startsWith("QSet<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QSet"); + else if (_internalTypeName.startsWith("QQueue<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QQueue"); + else if (_internalTypeName.startsWith("QVector<") && _internalTypeName.endsWith(">")) +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + return QLatin1String("io/qt/core/QList"); +#else + return QLatin1String("io/qt/core/QVector"); +#endif + else if (_internalTypeName.startsWith("QStack<") && _internalTypeName.endsWith(">")) + return QLatin1String("io/qt/core/QStack"); + else if (_internalTypeName.startsWith("std::vector<") && _internalTypeName.endsWith(">")) + return QLatin1String("java/util/ArrayList"); + else if (_internalTypeName.startsWith("std::map<") && _internalTypeName.endsWith(">")) + return QLatin1String("java/util/HashMap"); + else if (_internalTypeName.startsWith("std::set<") && _internalTypeName.endsWith(">")) + return QLatin1String("java/util/HashSet"); const std::type_info* typeId = metaType.isValid() ? getTypeByMetaType(metaType) : nullptr; QString javaName; if(typeId){ @@ -801,23 +841,28 @@ QString QtJambiTypeManager::getExternalTypeName(JNIEnv* environment, const QStri if(metaType.isValid() && metaType.id()!=QMetaType::Nullptr && metaType.id()!=QMetaType::Void){ + QByteArray name = registeredJavaClassForCustomMetaType(metaType); + if(!name.isEmpty()){ + return QLatin1String(name); + } #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QVariant variant(metaType.id(), nullptr); -#else - QVariant variant(metaType, nullptr); -#endif //QT_VERSION < QT_VERSION_CHECK(6, 0, 0) if(variant.canConvert(QMetaType::QVariantList)){ javaName = "io/qt/core/QList"; + }else if(variant.canConvert(QMetaType::QVariantMap)){ + javaName = "io/qt/core/QMap"; }else if(variant.canConvert(QMetaType::QVariantHash)){ javaName = "io/qt/core/QHash"; - }else if(variant.canConvert(QMetaType::QVariantMap)){ + } +#else + if(QMetaType::canConvert(QMetaType(metaType), QMetaType(QMetaType::QVariantList))){ + javaName = "io/qt/core/QList"; + }else if(QMetaType::canConvert(QMetaType(metaType), QMetaType(QMetaType::QVariantMap))){ javaName = "io/qt/core/QMap"; - }else{ - QByteArray name = registeredJavaClassForCustomMetaType(metaType); - if(!name.isEmpty()){ - return QLatin1String(name); - } + }else if(QMetaType::canConvert(QMetaType(metaType), QMetaType(QMetaType::QVariantHash))){ + javaName = "io/qt/core/QHash"; } +#endif } } if(!javaName.isEmpty() && pointerType==PointerType::initializer_list){ diff --git a/src/cpp/qtjambi_core/qtjambi_core_util.cpp b/src/cpp/qtjambi_core/qtjambi_core_util.cpp index 913493e4..afd80fa9 100644 --- a/src/cpp/qtjambi_core/qtjambi_core_util.cpp +++ b/src/cpp/qtjambi_core/qtjambi_core_util.cpp @@ -1988,6 +1988,22 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_propertyCount) return _result; } +extern "C" Q_DECL_EXPORT jobject JNICALL +QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_propertyByIndex) + (JNIEnv *env, jobject, jlong metaObjectPointer, jint index) +{ + jobject _result{nullptr}; + QTJAMBI_TRY{ + if(metaObjectPointer){ + const QMetaObject *metaObject = reinterpret_cast(metaObjectPointer); + _result = qtjambi_cast(env, metaObject->property(index)); + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return _result; +} + extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_property) (JNIEnv *env, jobject, jlong metaObjectPointer, jobject name) @@ -2335,6 +2351,26 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_constructor) return result; } +extern "C" Q_DECL_EXPORT jobject JNICALL +QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_constructorByIndex) + (JNIEnv * env, jobject, jlong metaObjectPointer, jint index) +{ + jobject result = nullptr; + QTJAMBI_TRY{ + if(metaObjectPointer){ + env->EnsureLocalCapacity(100); + const QMetaObject *metaObject = reinterpret_cast(metaObjectPointer); + QMetaMethod method = metaObject->constructor(index); + if(method.isValid() && method.methodType()==QMetaMethod::Constructor){ + result = qtjambi_cast(env, method); + } + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} + extern "C" Q_DECL_EXPORT jint JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_constructorCount) (JNIEnv * env, jobject, jlong metaObjectPointer) @@ -2391,6 +2427,23 @@ QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_enumerator) return result; } +extern "C" Q_DECL_EXPORT jobject JNICALL +QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_enumeratorByIndex) + (JNIEnv * env, jclass, jlong metaObjectPointer, jint index) +{ + jobject result = nullptr; + QTJAMBI_TRY{ + if(metaObjectPointer){ + const QMetaObject *metaObject = reinterpret_cast(metaObjectPointer); + QMetaEnum enumerator = metaObject->enumerator(index); + result = qtjambi_cast(env, enumerator); + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} + extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_core_QMetaObject_connectSlotsByName) (JNIEnv * env, jclass, QtJambiNativeID native_id) diff --git a/src/cpp/qtjambi_dbus/QDBusVariantReply.cpp b/src/cpp/qtjambi_dbus/QDBusVariantReply.cpp index b4f37377..670c69bd 100644 --- a/src/cpp/qtjambi_dbus/QDBusVariantReply.cpp +++ b/src/cpp/qtjambi_dbus/QDBusVariantReply.cpp @@ -394,6 +394,12 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_dbus_QD || metaTypeId==qMetaTypeId()){ JavaException::raiseIllegalArgumentException(__jni_env, qPrintable(QString("Unable to marhall/unmarshall type %1.").arg(qtjambi_class_name(__jni_env, classType))) QTJAMBI_STACKTRACEINFO ); }else{ +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + if(!QMetaType(metaType).iface()->defaultCtr + || !QMetaType(metaType).iface()->copyCtr){ + JavaException::raiseRuntimeException(__jni_env, qPrintable(QString("Meta type %1 does not provide default and copy constructor.").arg(QLatin1String(metaType.name()))) QTJAMBI_STACKTRACEINFO ); + } +#endif JObjectWrapper _marshallFunction(__jni_env, marshallFunction); mf = qtjambi_function_pointer<16,void(QDBusArgument &, const void *)>([metaTypeId,_marshallFunction](QDBusArgument &arg, const void *t) { if(JNIEnv* env = qtjambi_current_environment()){ @@ -498,6 +504,11 @@ extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_dbus #if QT_VERSION < QT_VERSION_CHECK(6,0,0) QVariant variant(metaType.id(), nullptr); #else +#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!QMetaType(metaType).iface()->copyCtr || !QMetaType(metaType).iface()->defaultCtr){ + JavaException::raiseUnsupportedOperationException(__jni_env, qPrintable(QString("Unable to extract value of type %1 from QDBusArgument.").arg(QLatin1String(metaType.name()))) QTJAMBI_STACKTRACEINFO ); + } +#endif QVariant variant(metaType, nullptr); #endif if(QDBusMetaType::demarshall(*arg, metaType diff --git a/src/cpp/qtjambi_httpserver/qtjambi_httpserver.cpp b/src/cpp/qtjambi_httpserver/qtjambi_httpserver.cpp index ba3c156b..7a1390b9 100644 --- a/src/cpp/qtjambi_httpserver/qtjambi_httpserver.cpp +++ b/src/cpp/qtjambi_httpserver/qtjambi_httpserver.cpp @@ -9,7 +9,8 @@ #include struct HttpServer : QAbstractHttpServer{ - inline void afterRequestImpl(QHttpServer::AfterRequestHandler afterRequestHandler) + inline void afterRequestImpl(std::function afterRequestHandler) { QHttpServerPrivate* d = reinterpret_cast(QObjectPrivate::get(this)); d->afterRequestHandlers.push_back(std::move(afterRequestHandler)); @@ -34,7 +35,7 @@ struct HttpServerRouterRule : QHttpServerRouterRule{ bool hasValidMethods() const{ return QHttpServerRouterRule::hasValidMethods(); } bool createPathRegexp(std::initializer_list metaTypes, - const QHash &converters){ + const QHash &converters){ return QHttpServerRouterRule::createPathRegexp(metaTypes, converters); } }; diff --git a/src/cpp/qtjambi_qml/qmlregistry.cpp b/src/cpp/qtjambi_qml/qmlregistry.cpp index d304c9ea..0744813d 100644 --- a/src/cpp/qtjambi_qml/qmlregistry.cpp +++ b/src/cpp/qtjambi_qml/qmlregistry.cpp @@ -1425,6 +1425,24 @@ extern "C" Q_DECL_EXPORT jint JNICALL Java_io_qt_qml_QtQml_qmlRegisterType__Lio_ return _result; } +/* + * Class: io_qt_qml_QtQml + * Method: qmlTypeId + * Signature: (Ljava/lang/String;IILjava/lang/String;)I + */ +extern "C" Q_DECL_EXPORT jint JNICALL Java_io_qt_qml_QtQml_qmlTypeId__Ljava_lang_String_2IILjava_lang_String_2 + (JNIEnv * env, jclass, jstring uri, jint versionMajor, jint versionMinor, jstring qmlName){ + env->EnsureLocalCapacity(300); + jint _result{-1}; + QTJAMBI_TRY{ + QString _qmlName = qtjambi_to_qstring(env, qmlName); + _result = qmlTypeId(qPrintable(qtjambi_to_qstring(env, uri)), int(versionMajor), int(versionMinor), _qmlName.isEmpty() ? nullptr : qPrintable(_qmlName)); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return _result; +} + /* * Class: io_qt_qml_QtQml * Method: qmlProtectModule @@ -1888,3 +1906,230 @@ extern "C" Q_DECL_EXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QQm #endif } +// QQmlEngine::singletonInstance(int) +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QQmlEngine_singletonInstance__JI) +(JNIEnv *__jni_env, + jclass, + QtJambiNativeID __this_nativeId, jint qmlTypeId) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "QQmlEngine::singletonInstance(int)") + jobject result{nullptr}; + QTJAMBI_TRY { + QQmlEngine *__qt_this = qtjambi_object_from_nativeId(__this_nativeId); + qtjambi_check_resource(__jni_env, __qt_this); + QJSValue value = __qt_this->singletonInstance(qmlTypeId); + result = qtjambi_cast(__jni_env, value); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(__jni_env); + }QTJAMBI_TRY_END + return result; +} + +// qjsEngine +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QtQml_qjsEngine) +(JNIEnv *__jni_env, + jclass, + QtJambiNativeID __object_nativeId) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "qjsEngine") + jobject result{nullptr}; + QTJAMBI_TRY { + QObject *object = qtjambi_object_from_nativeId(__object_nativeId); + result = qtjambi_cast(__jni_env, qjsEngine(object)); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(__jni_env); + }QTJAMBI_TRY_END + return result; +} + +#if QT_VERSION >= QT_VERSION_CHECK(6,3,0) +using ConvertVariant = bool(QJSEngine::*)(const QVariant &value, QMetaType metaType, void *ptr); +template <> +constexpr ConvertVariant qjsvalue_cast(const QJSValue &) +{ + return &QJSEngine::convertVariant; +} +// QJSEngine::fromVariant +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QJSEngine_fromVariant) +(JNIEnv *env, + jclass, + QtJambiNativeID __this_nativeId, jobject jVariant, QtJambiNativeID metaTypeId) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "QJSEngine::fromVariant") + jobject result{nullptr}; + QTJAMBI_TRY { + QJSEngine *__qt_this = qtjambi_object_from_nativeId(__this_nativeId); + qtjambi_check_resource(env, __qt_this); + QVariant value = qtjambi_to_qvariant(env, jVariant); + QMetaType targetType = qtjambi_object_from_nativeId_deref(env, metaTypeId); + if (value.metaType()==targetType){ + result = jVariant; + }else{ +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!targetType.iface()->defaultCtr){ + JavaException::raiseRuntimeException(env, qPrintable(QString("Unable to convert to meta type %1 due to missing default constructor.").arg(QLatin1String(targetType.name()))) QTJAMBI_STACKTRACEINFO ); + } + if(!targetType.iface()->copyCtr){ + JavaException::raiseRuntimeException(env, qPrintable(QString("Unable to convert to meta type %1 due to missing copy constructor.").arg(QLatin1String(targetType.name()))) QTJAMBI_STACKTRACEINFO ); + } +#endif + QVariant t(targetType, nullptr); + ConvertVariant convertVariant = qjsvalue_cast(QJSValue{}); + if ((__qt_this->*convertVariant)(value, targetType, t.data())){ + result = qtjambi_from_qvariant(env, t); + }else{ + QMetaType::convert(value.metaType(), value.constData(), targetType, t.data()); + result = qtjambi_from_qvariant(env, t); + } + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} +#endif + +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) +using ConvertV2 = bool (*)(const QJSValue &value, QMetaType metaType, void *ptr); +template <> +constexpr ConvertV2 qjsvalue_cast(const QJSValue &) +{ + return &QJSEngine::convertV2; +} +// QJSEngine::fromScriptValue +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QJSEngine_fromScriptValue) +(JNIEnv *env, + jclass, + QtJambiNativeID __this_nativeId, QtJambiNativeID jmanaged, QtJambiNativeID metaTypeId) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "QJSEngine::fromScriptValue") + jobject result{nullptr}; + QTJAMBI_TRY { + QJSEngine *__qt_this = qtjambi_object_from_nativeId(__this_nativeId); + qtjambi_check_resource(env, __qt_this); + const QJSValue& value = qtjambi_object_from_nativeId_deref(env, jmanaged); + QMetaType targetType = qtjambi_object_from_nativeId_deref(env, metaTypeId); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!targetType.iface()->defaultCtr){ + JavaException::raiseRuntimeException(env, qPrintable(QString("Unable to convert to meta type %1 due to missing default constructor.").arg(QLatin1String(targetType.name()))) QTJAMBI_STACKTRACEINFO ); + } + if(!targetType.iface()->copyCtr){ + JavaException::raiseRuntimeException(env, qPrintable(QString("Unable to convert to meta type %1 due to missing copy constructor.").arg(QLatin1String(targetType.name()))) QTJAMBI_STACKTRACEINFO ); + } +#endif + ConvertV2 convertV2 = qjsvalue_cast(QJSValue{}); + QVariant t(targetType, nullptr); + if (convertV2(value, targetType, t.data())){ + result = qtjambi_from_qvariant(env, t); + }else if (value.isVariant()){ + t = value.toVariant(); + t.convert(targetType); + result = qtjambi_from_qvariant(env, t); + }else{ + result = qtjambi_from_qvariant(env, QVariant(targetType, nullptr)); + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} + +using Create = QJSValue(QJSEngine::*)(QMetaType type, const void *ptr); +template <> +constexpr Create qjsvalue_cast(const QJSValue &) +{ + return &QJSEngine::create; +} +// QJSEngine::toScriptValue +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QJSEngine_toScriptValue) +(JNIEnv *env, + jclass, + QtJambiNativeID __this_nativeId, jobject object) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "QJSEngine::toScriptValue") + jobject result{nullptr}; + QTJAMBI_TRY { + QJSEngine *__qt_this = qtjambi_object_from_nativeId(__this_nativeId); + qtjambi_check_resource(env, __qt_this); + QVariant variant = qtjambi_to_qvariant(env, object); + Create create = qjsvalue_cast(QJSValue{}); + QJSValue jsval = (__qt_this->*create)(variant.metaType(), variant.data()); + result = qtjambi_cast(env, jsval); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} +#endif + +#if QT_VERSION >= QT_VERSION_CHECK(6, 1, 0) +using ConvertManaged = bool(*)(const QJSManagedValue &value, QMetaType type, void *ptr); +template <> +constexpr ConvertManaged qjsvalue_cast(const QJSValue &) +{ + return &QJSEngine::convertManaged; +} +// QJSEngine::fromManagedValue +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QJSEngine_fromManagedValue) +(JNIEnv *env, + jclass, + QtJambiNativeID __this_nativeId, QtJambiNativeID jmanaged, QtJambiNativeID metaTypeId) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "QJSEngine::fromManagedValue") + jobject result{nullptr}; + QTJAMBI_TRY { + QJSEngine *__qt_this = qtjambi_object_from_nativeId(__this_nativeId); + qtjambi_check_resource(env, __qt_this); + const QJSManagedValue& value = qtjambi_object_from_nativeId_deref(env, jmanaged); + QMetaType targetType = qtjambi_object_from_nativeId_deref(env, metaTypeId); +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 4, 0) + if(!targetType.iface()->defaultCtr){ + JavaException::raiseRuntimeException(env, qPrintable(QString("Unable to convert to meta type %1 due to missing default constructor.").arg(QLatin1String(targetType.name()))) QTJAMBI_STACKTRACEINFO ); + } + if(!targetType.iface()->copyCtr){ + JavaException::raiseRuntimeException(env, qPrintable(QString("Unable to convert to meta type %1 due to missing copy constructor.").arg(QLatin1String(targetType.name()))) QTJAMBI_STACKTRACEINFO ); + } +#endif + ConvertManaged convertManaged = qjsvalue_cast(QJSValue{}); + QVariant t(targetType, nullptr); + if (convertManaged(value, targetType, t.data())){ + result = qtjambi_from_qvariant(env, t); + }else{ + t = value.toVariant(); + t.convert(targetType); + result = qtjambi_from_qvariant(env, t); + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} + +using CreateManaged = QJSManagedValue(QJSEngine::*)(QMetaType type, const void *ptr); +template <> +constexpr CreateManaged qjsvalue_cast(const QJSValue &) +{ + return &QJSEngine::createManaged; +} +// QJSEngine::toManagedValue +extern "C" Q_DECL_EXPORT jobject JNICALL QTJAMBI_FUNCTION_PREFIX(Java_io_qt_qml_QJSEngine_toManagedValue) +(JNIEnv *env, + jclass, + QtJambiNativeID __this_nativeId, jobject object) +{ + QTJAMBI_DEBUG_METHOD_PRINT("native", "QJSEngine::toManagedValue") + jobject result{nullptr}; + QTJAMBI_TRY { + QJSEngine *__qt_this = qtjambi_object_from_nativeId(__this_nativeId); + qtjambi_check_resource(env, __qt_this); + QVariant variant = qtjambi_to_qvariant(env, object); + CreateManaged createManaged = qjsvalue_cast(QJSManagedValue{}); + QJSManagedValue jsval = (__qt_this->*createManaged)(variant.metaType(), variant.data()); + result = qtjambi_cast(env, jsval); + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return result; +} +#endif + diff --git a/src/cpp/qtjambi_quick/qtjambi_quick_hashes.h b/src/cpp/qtjambi_quick/qtjambi_quick_hashes.h index a91448f1..a72ec678 100644 --- a/src/cpp/qtjambi_quick/qtjambi_quick_hashes.h +++ b/src/cpp/qtjambi_quick/qtjambi_quick_hashes.h @@ -3,20 +3,229 @@ #include #include +#include +#include +#include +#include + +struct RenderState{ + QSGMaterialShader::RenderState::DirtyStates m_dirty; + const void *m_data; +}; + +inline hash_type qHash(const QSGMaterialShader::RenderState &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.dirtyStates()); + hashCode = hashCode * 31 + qHash(quintptr(reinterpret_cast(value).m_data)); + return hashCode; +} +inline bool operator==(const QSGMaterialShader::RenderState &value1, const QSGMaterialShader::RenderState &value2) +{ + return value1.dirtyStates()==value2.dirtyStates() + && reinterpret_cast(value1).m_data==reinterpret_cast(value2).m_data; +} + +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#include + +inline hash_type qHash(const QSGMaterialRhiShader::RenderState &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.dirtyStates()); + hashCode = hashCode * 31 + qHash(quintptr(reinterpret_cast(value).m_data)); + return hashCode; +} +inline bool operator==(const QSGMaterialRhiShader::RenderState &value1, const QSGMaterialRhiShader::RenderState &value2) +{ + return value1.dirtyStates()==value2.dirtyStates() + && reinterpret_cast(value1).m_data==reinterpret_cast(value2).m_data; +} + +inline hash_type qHash(const QSGMaterialRhiShader::GraphicsPipelineState &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.blendEnable); + hashCode = hashCode * 31 + qHash(value.srcColor); + hashCode = hashCode * 31 + qHash(value.dstColor); + hashCode = hashCode * 31 + qHash(value.colorWrite); + hashCode = hashCode * 31 + qHash(value.blendConstant); + hashCode = hashCode * 31 + qHash(value.cullMode); + return hashCode; +} +inline bool operator==(const QSGMaterialRhiShader::GraphicsPipelineState &value1, const QSGMaterialRhiShader::GraphicsPipelineState &value2) +{ + return value1.blendEnable==value2.blendEnable + && value1.srcColor==value2.srcColor + && value1.dstColor==value2.dstColor + && value1.colorWrite==value2.colorWrite + && value1.blendConstant==value2.blendConstant + && value1.cullMode==value2.cullMode; +} +#else + +inline hash_type qHash(const QSGMaterialShader::GraphicsPipelineState &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.blendEnable); + hashCode = hashCode * 31 + qHash(value.srcColor); + hashCode = hashCode * 31 + qHash(value.dstColor); + hashCode = hashCode * 31 + qHash(value.colorWrite); + hashCode = hashCode * 31 + qHash(value.blendConstant); + hashCode = hashCode * 31 + qHash(value.cullMode); +#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) + hashCode = hashCode * 31 + qHash(value.polygonMode); +#endif + return hashCode; +} +inline bool operator==(const QSGMaterialShader::GraphicsPipelineState &value1, const QSGMaterialShader::GraphicsPipelineState &value2) +{ + return value1.blendEnable==value2.blendEnable + && value1.srcColor==value2.srcColor + && value1.dstColor==value2.dstColor + && value1.colorWrite==value2.colorWrite + && value1.blendConstant==value2.blendConstant +#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) + && value1.polygonMode==value2.polygonMode +#endif + && value1.cullMode==value2.cullMode; +} + +#endif + +inline hash_type qHash(const QSGGeometry::ColoredPoint2D &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.x); + hashCode = hashCode * 31 + qHash(value.y); + hashCode = hashCode * 31 + qHash(value.r); + hashCode = hashCode * 31 + qHash(value.g); + hashCode = hashCode * 31 + qHash(value.b); + hashCode = hashCode * 31 + qHash(value.a); + return hashCode; +} +inline bool operator==(const QSGGeometry::ColoredPoint2D &value1, const QSGGeometry::ColoredPoint2D &value2) +{ + return value1.x==value2.x + && value1.y==value2.y + && value1.r==value2.r + && value1.g==value2.g + && value1.b==value2.b + && value1.a==value2.a; +} + +inline hash_type qHash(const QSGGeometry::TexturedPoint2D &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.x); + hashCode = hashCode * 31 + qHash(value.y); + hashCode = hashCode * 31 + qHash(value.tx); + hashCode = hashCode * 31 + qHash(value.ty); + return hashCode; +} +inline bool operator==(const QSGGeometry::TexturedPoint2D &value1, const QSGGeometry::TexturedPoint2D &value2) +{ + return value1.x==value2.x + && value1.y==value2.y + && value1.tx==value2.tx + && value1.ty==value2.ty; +} + +inline hash_type qHash(const QSGGeometry::Point2D &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.x); + hashCode = hashCode * 31 + qHash(value.y); + return hashCode; +} +inline bool operator==(const QSGGeometry::Point2D &value1, const QSGGeometry::Point2D &value2) +{ + return value1.x==value2.x + && value1.y==value2.y; +} + +inline hash_type qHash(const QSGGeometry::Attribute &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.position); + hashCode = hashCode * 31 + qHash(value.tupleSize); + hashCode = hashCode * 31 + qHash(value.type); + hashCode = hashCode * 31 + qHash(value.isVertexCoordinate); + hashCode = hashCode * 31 + qHash(int(value.attributeType)); + return hashCode; +} +inline bool operator==(const QSGGeometry::Attribute &value1, const QSGGeometry::Attribute &value2) +{ + return value1.position==value2.position + && value1.tupleSize==value2.tupleSize + && value1.type==value2.type + && value1.isVertexCoordinate==value2.isVertexCoordinate + && value1.attributeType==value2.attributeType; +} + +inline hash_type qHash(const QSGGeometry::AttributeSet &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.stride); + hashCode = hashCode * 31 + qHash(value.count); + for(int i=0; i= QT_VERSION_CHECK(5, 14, 0) +#include +inline hash_type qHash(const QQuickWindow::GraphicsStateInfo &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(value.currentFrameSlot); + hashCode = hashCode * 31 + qHash(value.framesInFlight); + return hashCode; +} +inline bool operator==(const QQuickWindow::GraphicsStateInfo &value1, const QQuickWindow::GraphicsStateInfo &value2) +{ + return value1.currentFrameSlot==value2.currentFrameSlot && value1.framesInFlight==value2.framesInFlight; +} +#endif + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + +#include +#include + +inline hash_type qHash(const QQuickGraphicsDevice &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(*reinterpret_cast(&value)); + return hashCode; +} +inline bool operator==(const QQuickGraphicsDevice &value1, const QQuickGraphicsDevice &value2) +{ + return *reinterpret_cast(&value1)==*reinterpret_cast(&value2); +} +inline hash_type qHash(const QQuickGraphicsConfiguration &value, hash_type hashCode = 0) +{ + hashCode = hashCode * 31 + qHash(*reinterpret_cast(&value)); + return hashCode; +} +inline bool operator==(const QQuickGraphicsConfiguration &value1, const QQuickGraphicsConfiguration &value2) +{ + return *reinterpret_cast(&value1)==*reinterpret_cast(&value2); +} + #include #ifndef QT_JAMBI_RUN #include -#endif - -inline hash_type qHash(const QQuickRenderTarget &value) +inline hash_type qHash(const QQuickRenderTarget &value, hash_type hashCode = 0) { const QQuickRenderTargetPrivate* p = QQuickRenderTargetPrivate::get(&value); if(!p){ - return 0; + return hashCode; } - hash_type hashCode = qHash(int(p->type)); + hashCode = hashCode * 31 + qHash(int(p->type)); hashCode = hashCode * 31 + qHash(p->pixelSize); hashCode = hashCode * 31 + qHash(p->sampleCount); switch(p->type){ @@ -32,6 +241,10 @@ inline hash_type qHash(const QQuickRenderTarget &value) } return hashCode; } +#else +hash_type qHash(const QQuickRenderTarget &value, hash_type hashCode = 0); +#endif + #endif #endif // QTJAMBI_QUICK_HASHES_H diff --git a/src/cpp/qtjambi_webenginecore/qtjambi_qwebenginecore_hashes.h b/src/cpp/qtjambi_webenginecore/qtjambi_qwebenginecore_hashes.h index 1a48909a..224e1656 100644 --- a/src/cpp/qtjambi_webenginecore/qtjambi_qwebenginecore_hashes.h +++ b/src/cpp/qtjambi_webenginecore/qtjambi_qwebenginecore_hashes.h @@ -101,7 +101,7 @@ namespace QtWebEngineCore{ class FileSystemAccessPermissionRequestManagerQt{ public: static hash_type hash(const QWebEngineFileSystemAccessRequest& value, hash_type seed){ - return qHash(quintptr(value.d_ptr.data()), seed); + return qHash(quintptr(&*value.d_ptr), seed); } }; } diff --git a/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.cpp b/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.cpp new file mode 100644 index 00000000..617e99d5 --- /dev/null +++ b/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.cpp @@ -0,0 +1,56 @@ + +#include +#include +#include +#include +#include + +#include +#include + +class QQuickWebEngineViewPrivate{ +public: + static QWebEngineSettings* getWebEngineSettings(QQuickWebEngineSettings* settings){ + return settings->d_ptr.data(); + } + + static QWebEngineScriptCollection* getWebEngineScriptCollection(QQuickWebEngineScriptCollection* collection){ + return collection->d.data(); + } +}; + +extern "C" Q_DECL_EXPORT jobject JNICALL +QTJAMBI_FUNCTION_PREFIX(Java_io_qt_webengine_quick_QtWebEngineQuick_toWebEngineSettings) +(JNIEnv *env, jclass, jobject object) +{ + jobject __java_return_value{0}; + QTJAMBI_TRY { + QObject *_object = qtjambi_cast(env, object); + if(QQuickWebEngineSettings* settings = qobject_cast(_object)){ + QWebEngineSettings* wSettings = QQuickWebEngineViewPrivate::getWebEngineSettings(settings); + __java_return_value = qtjambi_from_object(env, wSettings, false, true); + qtjambi_register_dependent_object(env, __java_return_value, object); + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return __java_return_value; +} + +extern "C" Q_DECL_EXPORT jobject JNICALL +QTJAMBI_FUNCTION_PREFIX(Java_io_qt_webengine_quick_QtWebEngineQuick_toWebEngineScriptCollection) +(JNIEnv *env, jclass, jobject object) +{ + jobject __java_return_value{0}; + QTJAMBI_TRY { + QObject *_object = qtjambi_cast(env, object); + if(QQuickWebEngineScriptCollection* collection = qobject_cast(_object)){ + QWebEngineScriptCollection* wCollection = QQuickWebEngineViewPrivate::getWebEngineScriptCollection(collection); + __java_return_value = qtjambi_from_object(env, wCollection, false, true); + qtjambi_register_dependent_object(env, __java_return_value, object); + } + }QTJAMBI_CATCH(const JavaException& exn){ + exn.raiseInJava(env); + }QTJAMBI_TRY_END + return __java_return_value; +} diff --git a/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.pro b/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.pro index 7c7abc1b..7bcb3ae4 100644 --- a/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.pro +++ b/src/cpp/qtjambi_webenginequick/qtjambi_webenginequick.pro @@ -11,5 +11,8 @@ exists($$QTJAMBI_BUILDDIR): include($$QTJAMBI_BUILDDIR/generator/out/cpp/$$QTJAM # To be able to remove this we need to make generator better/smarter about #include directives # and it might not include these files at all. -QT += core qml quick webenginecore webenginequick +QT += core qml quick webenginecore webenginequick core-private webenginequick-private + +SOURCES += \ + qtjambi_webenginequick.cpp diff --git a/src/java/ant-qtjambi/io/qt/tools/ant/FindCompiler.java b/src/java/ant-qtjambi/io/qt/tools/ant/FindCompiler.java index 13fad016..e7178977 100644 --- a/src/java/ant-qtjambi/io/qt/tools/ant/FindCompiler.java +++ b/src/java/ant-qtjambi/io/qt/tools/ant/FindCompiler.java @@ -74,6 +74,8 @@ public enum Compiler { MSVC2019_64("msvc2019x64"), MSVC2022("msvc2022"), MSVC2022_64("msvc2022x64"), + MSVC20XX("msvc20XX"), + MSVC20XX_64("msvc20XXx64"), MinGW("mingw"), MinGW_W64("mingw-w64"), OldGCC("gcc3.3"), @@ -112,6 +114,8 @@ public static Compiler resolve(String name) { if(name.equals("msvc2019x64")) return MSVC2019_64; if(name.equals("msvc2022")) return MSVC2022; if(name.equals("msvc2022x64")) return MSVC2022_64; + if(name.equals("msvc20XX")) return MSVC20XX; + if(name.equals("msvc20XXx64")) return MSVC20XX_64; if(name.equals("mingw")) return MinGW; if(name.equals("mingw-w64")) return MinGW_W64; if(name.equals("gcc3.3")) return OldGCC; @@ -120,67 +124,6 @@ public static Compiler resolve(String name) { if(name.equals("clang")) return CLANG; return Other; } - - public boolean is64Only() { - return is64Only(name); - } - public static boolean is64Only(String name) { - Compiler compiler = resolve(name); - if(compiler == MSVC2005_64) - return true; - if(compiler == MSVC2008_64) - return true; - if(compiler == MSVC2010_64) - return true; - if(compiler == MSVC2012_64) - return true; - if(compiler == MSVC2013_64) - return true; - if(compiler == MSVC2015_64) - return true; - if(compiler == MSVC2017_64) - return true; - return false; - } - - public boolean isCompiler(Compiler compiler) { - return isCompiler(name, compiler); - } - public static boolean isCompiler(String name, Compiler ...compilerA) { - Compiler thisCompiler = resolve(name); - for(Compiler c : compilerA) { - if(thisCompiler == c) - return true; - } - return false; - } - - public boolean isMsvcKind() { - Compiler compiler = resolve(name); - switch(compiler) { - case MSVC1998: - case MSVC2002: - case MSVC2003: - case MSVC2005: - case MSVC2005_64: - case MSVC2008: - case MSVC2008_64: - case MSVC2010: - case MSVC2010_64: - case MSVC2012: - case MSVC2012_64: - case MSVC2013: - case MSVC2013_64: - case MSVC2015: - case MSVC2015_64: - case MSVC2017: - case MSVC2017_64: - return true; - default: - break; - } - return false; - } } public FindCompiler(PropertyHelper propertyHelper, Task task) { @@ -585,7 +528,9 @@ private Compiler testForVisualStudio() { return Compiler.MSVC2022_64; return Compiler.MSVC2022; } - throw new BuildException("Failed to detect Visual Studio version\n \"" + stderr + "\""); + if(stderr.contains("x64")) + return Compiler.MSVC20XX_64; + return Compiler.MSVC20XX; } } catch(InterruptedException ex) { if(verbose) diff --git a/src/java/ant-qtjambi/io/qt/tools/ant/InitializeBuildTask.java b/src/java/ant-qtjambi/io/qt/tools/ant/InitializeBuildTask.java index 910f6c38..72869a6a 100644 --- a/src/java/ant-qtjambi/io/qt/tools/ant/InitializeBuildTask.java +++ b/src/java/ant-qtjambi/io/qt/tools/ant/InitializeBuildTask.java @@ -672,6 +672,7 @@ public void executeInitialize() throws BuildException { privateModules.add("QtGui"); privateModules.add("QtDesigner"); privateModules.add("QtRemoteObjects"); + privateModules.add("QtQuick"); { String pm = AntUtil.getPropertyAsString(propertyHelper, Constants.PRIVATE_MODULES); if(pm!=null) diff --git a/src/java/autotest/io/qt/autotests/ApplicationInitializer.java b/src/java/autotest/io/qt/autotests/ApplicationInitializer.java index 2ac48fb5..be2cab59 100644 --- a/src/java/autotest/io/qt/autotests/ApplicationInitializer.java +++ b/src/java/autotest/io/qt/autotests/ApplicationInitializer.java @@ -238,7 +238,7 @@ static void testDeployerApp(String applicationName, String...modules) throws Int boolean java8 = jvmVersion.startsWith("1.") || jvmVersion.startsWith("8.") || jvmVersion.startsWith("7."); String jambidir = System.getProperty("user.dir"); Assume.assumeTrue(jambidir!=null); - final File testsDir = new File(new File(new File(jambidir, version), "build"), "tests"); + final File testsDir = new File(new File(new File(new File(jambidir, version), "build"), QtJambiInternal.osArchName()), "tests"); Assume.assumeTrue(testsDir.getAbsolutePath()+" not a directory", testsDir.isDirectory()); final File targetDir = new File(testsDir, "tmp_"+QtJambiInternal.processName()); targetDir.mkdirs(); @@ -313,10 +313,10 @@ static void testDeployerApp(String applicationName, String...modules) throws Int final QProcess process = new QProcess(); try { if(java8) { - classPath = macosPrefix+"../java"; - classPath += File.pathSeparator+macosPrefix+"../../../deployment/qtjambi-"+version+".jar"; + classPath = macosPrefix+"../qtjambi-autotests-"+version+".jar"; + classPath += File.pathSeparator+macosPrefix+"../../../../deployment/qtjambi-"+version+".jar"; for(String mod : modules) { - classPath += File.pathSeparator+macosPrefix+"../../../deployment/qtjambi-"+mod+"-"+version+".jar"; + classPath += File.pathSeparator+macosPrefix+"../../../../deployment/qtjambi-"+mod+"-"+version+".jar"; if("sql".equals(mod) && !System.getProperty("qtjambi.deployer.test.jdbc", "").isEmpty()) { String jdbcPath = targetDir.toPath().toAbsolutePath().relativize(new File(System.getProperty("qtjambi.deployer.test.jdbc")).toPath().toAbsolutePath()).toString(); classPath += File.pathSeparator+macosPrefix+jdbcPath; @@ -341,10 +341,10 @@ static void testDeployerApp(String applicationName, String...modules) throws Int "-Dio.qt.verbose-loading="+System.getProperty("io.qt.verbose-loading", "false") }); }else { - classPath = macosPrefix+"../java"; - modulePath = "../"+macosPrefix+"../../deployment/qtjambi-"+version+".jar"; + classPath = macosPrefix+"../qtjambi-autotests-"+version+".jar"; + modulePath = "../"+macosPrefix+"../../../deployment/qtjambi-"+version+".jar"; for(String mod : modules) { - modulePath += File.pathSeparator+macosPrefix+"../../../deployment/qtjambi-"+mod+"-"+version+".jar"; + modulePath += File.pathSeparator+macosPrefix+"../../../../deployment/qtjambi-"+mod+"-"+version+".jar"; if("sql".equals(mod) && !System.getProperty("qtjambi.deployer.test.jdbc", "").isEmpty()) { String jdbcPath = targetDir.toPath().toAbsolutePath().relativize(new File(System.getProperty("qtjambi.deployer.test.jdbc")).toPath().toAbsolutePath()).toString(); classPath += File.pathSeparator+macosPrefix+jdbcPath; diff --git a/src/java/autotest/io/qt/autotests/Content.txt b/src/java/autotest/io/qt/autotests/Content.txt new file mode 100644 index 00000000..2befb49c --- /dev/null +++ b/src/java/autotest/io/qt/autotests/Content.txt @@ -0,0 +1,1800 @@ +0: | | | | | | | | | +1: | | | | | | | | | +2: | | | | | | | | | +3: | | | | | | | | | +4: | | | | | | | | | +5: | | | | | | | | | +6: | | | | | | | | | +7: | | | | | | | | | +8: | | | | | | | | | +9: | | | | | | | | | +10: | | | | | | | | | +11: | | | | | | | | | +12: | | | | | | | | | +13: | | | | | | | | | +14: | | | | | | | | | +15: | | | | | | | | | +16: | | | | | | | | | +17: | | | | | | | | | +18: | | | | | | | | | +19: | | | | | | | | | +20: | | | | | | | | | +21: | | | | | | | | | +22: | | | | | | | | | +23: | | | | | | | | | +24: | | | | | | | | | +25: | | | | | | | | | +26: | | | | | | | | | +27: | | | | | | | | | +28: | | | | | | | | | +29: | | | | | | | | | +30: | | | | | | | | | +31: | | | | | | | | | +32: | | | | | | | | | +33: | | | | | | | | | +34: | | | | | | | | | +35: | | | | | | | | | +36: | | | | | | | | | +37: | | | | | | | | | +38: | | | | | | | | | +39: | | | | | | | | | +40: | | | | | | | | | +41: | | | | | | | | | +42: | | | | | | | | | +43: | | | | | | | | | +44: | | | | | | | | | +45: | | | | | | | | | +46: | | | | | | | | | +47: | | | | | | | | | +48: | | | | | | | | | +49: | | | | | | | | | +50: | | | | | | | | | +51: | | | | | | | | | +52: | | | | | | | | | +53: | | | | | | | | | +54: | | | | | | | | | +55: | | | | | | | | | +56: | | | | | | | | | +57: | | | | | | | | | +58: | | | | | | | | | +59: | | | | | | | | | +60: | | | | | | | | | +61: | | | | | | | | | +62: | | | | | | | | | +63: | | | | | | | | | +64: | | | | | | | | | +65: | | | | | | | | | +66: | | | | | | | | | +67: | | | | | | | | | +68: | | | | | | | | | +69: | | | | | | | | | +70: | | | | | | | | | +71: | | | | | | | | | +72: | | | | | | | | | +73: | | | | | | | | | +74: | | | | | | | | | +75: | | | | | | | | | +76: | | | | | | | | | +77: | | | | | | | | | +78: | | | | | | | | | +79: | | | | | | | | | +80: | | | | | | | | | +81: | | | | | | | | | +82: | | | | | | | | | +83: | | | | | | | | | +84: | | | | | | | | | +85: | | | | | | | | | +86: | | | | | | | | | +87: | | | | | | | | | +88: | | | | | | | | | +89: | | | | | | | | | +90: | | | | | | | | | +91: | | | | | | | | | +92: | | | | | | | | | +93: | | | | | | | | | +94: | | | | | | | | | +95: | | | | | | | | | +96: | | | | | | | | | +97: | | | | | | | | | +98: | | | | | | | | | +99: | | | | | | | | | +100: | | | | | | | | | +101: | | | | | | | | | +102: | | | | | | | | | +103: | | | | | | | | | +104: | | | | | | | | | +105: | | | | | | | | | +106: | | | | | | | | | +107: | | | | | | | | | +108: | | | | | | | | | +109: | | | | | | | | | +110: | | | | | | | | | +111: | | | | | | | | | +112: | | | | | | | | | +113: | | | | | | | | | +114: | | | | | | | | | +115: | | | | | | | | | +116: | | | | | | | | | +117: | | | | | | | | | +118: | | | | | | | | | +119: | | | | | | | | | +120: | | | | | | | | | +121: | | | | | | | | | +122: | | | | | | | | | +123: | | | | | | | | | +124: | | | | | | | | | +125: | | | | | | | | | +126: | | | | | | | | | +127: | | | | | | | | | +128: | | | | | | | | | +129: | | | | | | | | | +130: | | | | | | | | | +131: | | | | | | | | | +132: | | | | | | | | | +133: | | | | | | | | | +134: | | | | | | | | | +135: | | | | | | | | | +136: | | | | | | | | | +137: | | | | | | | | | +138: | | | | | | | | | +139: | | | | | | | | | +140: | | | | | | | | | +141: | | | | | | | | | +142: | | | | | | | | | +143: | | | | | | | | | +144: | | | | | | | | | +145: | | | | | | | | | +146: | | | | | | | | | +147: | | | | | | | | | +148: | | | | | | | | | +149: | | | | | | | | | +150: | | | | | | | | | +151: | | | | | | | | | +152: | | | | | | | | | +153: | | | | | | | | | +154: | | | | | | | | | +155: | | | | | | | | | +156: | | | | | | | | | +157: | | | | | | | | | +158: | | | | | | | | | +159: | | | | | | | | | +160: | | | | | | | | | +161: | | | | | | | | | +162: | | | | | | | | | +163: | | | | | | | | | +164: | | | | | | | | | +165: | | | | | | | | | +166: | | | | | | | | | +167: | | | | | | | | | +168: | | | | | | | | | +169: | | | | | | | | | +170: | | | | | | | | | +171: | | | | | | | | | +172: | | | | | | | | | +173: | | | | | | | | | +174: | | | | | | | | | +175: | | | | | | | | | +176: | | | | | | | | | +177: | | | | | | | | | +178: | | | | | | | | | +179: | | | | | | | | | +180: | | | | | | | | | +181: | | | | | | | | | +182: | | | | | | | | | +183: | | | | | | | | | +184: | | | | | | | | | +185: | | | | | | | | | +186: | | | | | | | | | +187: | | | | | | | | | +188: | | | | | | | | | +189: | | | | | | | | | +190: | | | | | | | | | +191: | | | | | | | | | +192: | | | | | | | | | +193: | | | | | | | | | +194: | | | | | | | | | +195: | | | | | | | | | +196: | | | | | | | | | +197: | | | | | | | | | +198: | | | | | | | | | +199: | | | | | | | | | +200: | | | | | | | | | +201: | | | | | | | | | +202: | | | | | | | | | +203: | | | | | | | | | +204: | | | | | | | | | +205: | | | | | | | | | +206: | | | | | | | | | +207: | | | | | | | | | +208: | | | | | | | | | +209: | | | | | | | | | +210: | | | | | | | | | +211: | | | | | | | | | +212: | | | | | | | | | +213: | | | | | | | | | +214: | | | | | | | | | +215: | | | | | | | | | +216: | | | | | | | | | +217: | | | | | | | | | +218: | | | | | | | | | +219: | | | | | | | | | +220: | | | | | | | | | +221: | | | | | | | | | +222: | | | | | | | | | +223: | | | | | | | | | +224: | | | | | | | | | +225: | | | | | | | | | +226: | | | | | | | | | +227: | | | | | | | | | +228: | | | | | | | | | +229: | | | | | | | | | +230: | | | | | | | | | +231: | | | | | | | | | +232: | | | | | | | | | +233: | | | | | | | | | +234: | | | | | | | | | +235: | | | | | | | | | +236: | | | | | | | | | +237: | | | | | | | | | +238: | | | | | | | | | +239: | | | | | | | | | +240: | | | | | | | | | +241: | | | | | | | | | +242: | | | | | | | | | +243: | | | | | | | | | +244: | | | | | | | | | +245: | | | | | | | | | +246: | | | | | | | | | +247: | | | | | | | | | +248: | | | | | | | | | +249: | | | | | | | | | +250: | | | | | | | | | +251: | | | | | | | | | +252: | | | | | | | | | +253: | | | | | | | | | +254: | | | | | | | | | +255: | | | | | | | | | +256: | | | | | | | | | +257: | | | | | | | | | +258: | | | | | | | | | +259: | | | | | | | | | +260: | | | | | | | | | +261: | | | | | | | | | +262: | | | | | | | | | +263: | | | | | | | | | +264: | | | | | | | | | +265: | | | | | | | | | +266: | | | | | | | | | +267: | | | | | | | | | +268: | | | | | | | | | +269: | | | | | | | | | +270: | | | | | | | | | +271: | | | | | | | | | +272: | | | | | | | | | +273: | | | | | | | | | +274: | | | | | | | | | +275: | | | | | | | | | +276: | | | | | | | | | +277: | | | | | | | | | +278: | | | | | | | | | +279: | | | | | | | | | +280: | | | | | | | | | +281: | | | | | | | | | +282: | | | | | | | | | +283: | | | | | | | | | +284: | | | | | | | | | +285: | | | | | | | | | +286: | | | | | | | | | +287: | | | | | | | | | +288: | | | | | | | | | +289: | | | | | | | | | +290: | | | | | | | | | +291: | | | | | | | | | +292: | | | | | | | | | +293: | | | | | | | | | +294: | | | | | | | | | +295: | | | | | | | | | +296: | | | | | | | | | +297: | | | | | | | | | +298: | | | | | | | | | +299: | | | | | | | | | +300: | | | | | | | | | +301: | | | | | | | | | +302: | | | | | | | | | +303: | | | | | | | | | +304: | | | | | | | | | +305: | | | | | | | | | +306: | | | | | | | | | +307: | | | | | | | | | +308: | | | | | | | | | +309: | | | | | | | | | +310: | | | | | | | | | +311: | | | | | | | | | +312: | | | | | | | | | +313: | | | | | | | | | +314: | | | | | | | | | +315: | | | | | | | | | +316: | | | | | | | | | +317: | | | | | | | | | +318: | | | | | | | | | +319: | | | | | | | | | +320: | | | | | | | | | +321: | | | | | | | | | +322: | | | | | | | | | +323: | | | | | | | | | +324: | | | | | | | | | +325: | | | | | | | | | +326: | | | | | | | | | +327: | | | | | | | | | +328: | | | | | | | | | +329: | | | | | | | | | +330: | | | | | | | | | +331: | | | | | | | | | +332: | | | | | | | | | +333: | | | | | | | | | +334: | | | | | | | | | +335: | | | | | | | | | +336: | | | | | | | | | +337: | | | | | | | | | +338: | | | | | | | | | +339: | | | | | | | | | +340: | | | | | | | | | +341: | | | | | | | | | +342: | | | | | | | | | +343: | | | | | | | | | +344: | | | | | | | | | +345: | | | | | | | | | +346: | | | | | | | | | +347: | | | | | | | | | +348: | | | | | | | | | +349: | | | | | | | | | +350: | | | | | | | | | +351: | | | | | | | | | +352: | | | | | | | | | +353: | | | | | | | | | +354: | | | | | | | | | +355: | | | | | | | | | +356: | | | | | | | | | +357: | | | | | | | | | +358: | | | | | | | | | +359: | | | | | | | | | +360: | | | | | | | | | +361: | | | | | | | | | +362: | | | | | | | | | +363: | | | | | | | | | +364: | | | | | | | | | +365: | | | | | | | | | +366: | | | | | | | | | +367: | | | | | | | | | +368: | | | | | | | | | +369: | | | | | | | | | +370: | | | | | | | | | +371: | | | | | | | | | +372: | | | | | | | | | +373: | | | | | | | | | +374: | | | | | | | | | +375: | | | | | | | | | +376: | | | | | | | | | +377: | | | | | | | | | +378: | | | | | | | | | +379: | | | | | | | | | +380: | | | | | | | | | +381: | | | | | | | | | +382: | | | | | | | | | +383: | | | | | | | | | +384: | | | | | | | | | +385: | | | | | | | | | +386: | | | | | | | | | +387: | | | | | | | | | +388: | | | | | | | | | +389: | | | | | | | | | +390: | | | | | | | | | +391: | | | | | | | | | +392: | | | | | | | | | +393: | | | | | | | | | +394: | | | | | | | | | +395: | | | | | | | | | +396: | | | | | | | | | +397: | | | | | | | | | +398: | | | | | | | | | +399: | | | | | | | | | +400: | | | | | | | | | +401: | | | | | | | | | +402: | | | | | | | | | +403: | | | | | | | | | +404: | | | | | | | | | +405: | | | | | | | | | +406: | | | | | | | | | +407: | | | | | | | | | +408: | | | | | | | | | +409: | | | | | | | | | +410: | | | | | | | | | +411: | | | | | | | | | +412: | | | | | | | | | +413: | | | | | | | | | +414: | | | | | | | | | +415: | | | | | | | | | +416: | | | | | | | | | +417: | | | | | | | | | +418: | | | | | | | | | +419: | | | | | | | | | +420: | | | | | | | | | +421: | | | | | | | | | +422: | | | | | | | | | +423: | | | | | | | | | +424: | | | | | | | | | +425: | | | | | | | | | +426: | | | | | | | | | +427: | | | | | | | | | +428: | | | | | | | | | +429: | | | | | | | | | +430: | | | | | | | | | +431: | | | | | | | | | +432: | | | | | | | | | +433: | | | | | | | | | +434: | | | | | | | | | +435: | | | | | | | | | +436: | | | | | | | | | +437: | | | | | | | | | +438: | | | | | | | | | +439: | | | | | | | | | +440: | | | | | | | | | +441: | | | | | | | | | +442: | | | | | | | | | +443: | | | | | | | | | +444: | | | | | | | | | +445: | | | | | | | | | +446: | | | | | | | | | +447: | | | | | | | | | +448: | | | | | | | | | +449: | | | | | | | | | +450: | | | | | | | | | +451: | | | | | | | | | +452: | | | | | | | | | +453: | | | | | | | | | +454: | | | | | | | | | +455: | | | | | | | | | +456: | | | | | | | | | +457: | | | | | | | | | +458: | | | | | | | | | +459: | | | | | | | | | +460: | | | | | | | | | +461: | | | | | | | | | +462: | | | | | | | | | +463: | | | | | | | | | +464: | | | | | | | | | +465: | | | | | | | | | +466: | | | | | | | | | +467: | | | | | | | | | +468: | | | | | | | | | +469: | | | | | | | | | +470: | | | | | | | | | +471: | | | | | | | | | +472: | | | | | | | | | +473: | | | | | | | | | +474: | | | | | | | | | +475: | | | | | | | | | +476: | | | | | | | | | +477: | | | | | | | | | +478: | | | | | | | | | +479: | | | | | | | | | +480: | | | | | | | | | +481: | | | | | | | | | +482: | | | | | | | | | +483: | | | | | | | | | +484: | | | | | | | | | +485: | | | | | | | | | +486: | | | | | | | | | +487: | | | | | | | | | +488: | | | | | | | | | +489: | | | | | | | | | +490: | | | | | | | | | +491: | | | | | | | | | +492: | | | | | | | | | +493: | | | | | | | | | +494: | | | | | | | | | +495: | | | | | | | | | +496: | | | | | | | | | +497: | | | | | | | | | +498: | | | | | | | | | +499: | | | | | | | | | +500: | | | | | | | | | +501: | | | | | | | | | +502: | | | | | | | | | +503: | | | | | | | | | +504: | | | | | | | | | +505: | | | | | | | | | +506: | | | | | | | | | +507: | | | | | | | | | +508: | | | | | | | | | +509: | | | | | | | | | +510: | | | | | | | | | +511: | | | | | | | | | +512: | | | | | | | | | +513: | | | | | | | | | +514: | | | | | | | | | +515: | | | | | | | | | +516: | | | | | | | | | +517: | | | | | | | | | +518: | | | | | | | | | +519: | | | | | | | | | +520: | | | | | | | | | +521: | | | | | | | | | +522: | | | | | | | | | +523: | | | | | | | | | +524: | | | | | | | | | +525: | | | | | | | | | +526: | | | | | | | | | +527: | | | | | | | | | +528: | | | | | | | | | +529: | | | | | | | | | +530: | | | | | | | | | +531: | | | | | | | | | +532: | | | | | | | | | +533: | | | | | | | | | +534: | | | | | | | | | +535: | | | | | | | | | +536: | | | | | | | | | +537: | | | | | | | | | +538: | | | | | | | | | +539: | | | | | | | | | +540: | | | | | | | | | +541: | | | | | | | | | +542: | | | | | | | | | +543: | | | | | | | | | +544: | | | | | | | | | +545: | | | | | | | | | +546: | | | | | | | | | +547: | | | | | | | | | +548: | | | | | | | | | +549: | | | | | | | | | +550: | | | | | | | | | +551: | | | | | | | | | +552: | | | | | | | | | +553: | | | | | | | | | +554: | | | | | | | | | +555: | | | | | | | | | +556: | | | | | | | | | +557: | | | | | | | | | +558: | | | | | | | | | +559: | | | | | | | | | +560: | | | | | | | | | +561: | | | | | | | | | +562: | | | | | | | | | +563: | | | | | | | | | +564: | | | | | | | | | +565: | | | | | | | | | +566: | | | | | | | | | +567: | | | | | | | | | +568: | | | | | | | | | +569: | | | | | | | | | +570: | | | | | | | | | +571: | | | | | | | | | +572: | | | | | | | | | +573: | | | | | | | | | +574: | | | | | | | | | +575: | | | | | | | | | +576: | | | | | | | | | +577: | | | | | | | | | +578: | | | | | | | | | +579: | | | | | | | | | +580: | | | | | | | | | +581: | | | | | | | | | +582: | | | | | | | | | +583: | | | | | | | | | +584: | | | | | | | | | +585: | | | | | | | | | +586: | | | | | | | | | +587: | | | | | | | | | +588: | | | | | | | | | +589: | | | | | | | | | +590: | | | | | | | | | +591: | | | | | | | | | +592: | | | | | | | | | +593: | | | | | | | | | +594: | | | | | | | | | +595: | | | | | | | | | +596: | | | | | | | | | +597: | | | | | | | | | +598: | | | | | | | | | +599: | | | | | | | | | +600: | | | | | | | | | +601: | | | | | | | | | +602: | | | | | | | | | +603: | | | | | | | | | +604: | | | | | | | | | +605: | | | | | | | | | +606: | | | | | | | | | +607: | | | | | | | | | +608: | | | | | | | | | +609: | | | | | | | | | +610: | | | | | | | | | +611: | | | | | | | | | +612: | | | | | | | | | +613: | | | | | | | | | +614: | | | | | | | | | +615: | | | | | | | | | +616: | | | | | | | | | +617: | | | | | | | | | +618: | | | | | | | | | +619: | | | | | | | | | +620: | | | | | | | | | +621: | | | | | | | | | +622: | | | | | | | | | +623: | | | | | | | | | +624: | | | | | | | | | +625: | | | | | | | | | +626: | | | | | | | | | +627: | | | | | | | | | +628: | | | | | | | | | +629: | | | | | | | | | +630: | | | | | | | | | +631: | | | | | | | | | +632: | | | | | | | | | +633: | | | | | | | | | +634: | | | | | | | | | +635: | | | | | | | | | +636: | | | | | | | | | +637: | | | | | | | | | +638: | | | | | | | | | +639: | | | | | | | | | +640: | | | | | | | | | +641: | | | | | | | | | +642: | | | | | | | | | +643: | | | | | | | | | +644: | | | | | | | | | +645: | | | | | | | | | +646: | | | | | | | | | +647: | | | | | | | | | +648: | | | | | | | | | +649: | | | | | | | | | +650: | | | | | | | | | +651: | | | | | | | | | +652: | | | | | | | | | +653: | | | | | | | | | +654: | | | | | | | | | +655: | | | | | | | | | +656: | | | | | | | | | +657: | | | | | | | | | +658: | | | | | | | | | +659: | | | | | | | | | +660: | | | | | | | | | +661: | | | | | | | | | +662: | | | | | | | | | +663: | | | | | | | | | +664: | | | | | | | | | +665: | | | | | | | | | +666: | | | | | | | | | +667: | | | | | | | | | +668: | | | | | | | | | +669: | | | | | | | | | +670: | | | | | | | | | +671: | | | | | | | | | +672: | | | | | | | | | +673: | | | | | | | | | +674: | | | | | | | | | +675: | | | | | | | | | +676: | | | | | | | | | +677: | | | | | | | | | +678: | | | | | | | | | +679: | | | | | | | | | +680: | | | | | | | | | +681: | | | | | | | | | +682: | | | | | | | | | +683: | | | | | | | | | +684: | | | | | | | | | +685: | | | | | | | | | +686: | | | | | | | | | +687: | | | | | | | | | +688: | | | | | | | | | +689: | | | | | | | | | +690: | | | | | | | | | +691: | | | | | | | | | +692: | | | | | | | | | +693: | | | | | | | | | +694: | | | | | | | | | +695: | | | | | | | | | +696: | | | | | | | | | +697: | | | | | | | | | +698: | | | | | | | | | +699: | | | | | | | | | +700: | | | | | | | | | +701: | | | | | | | | | +702: | | | | | | | | | +703: | | | | | | | | | +704: | | | | | | | | | +705: | | | | | | | | | +706: | | | | | | | | | +707: | | | | | | | | | +708: | | | | | | | | | +709: | | | | | | | | | +710: | | | | | | | | | +711: | | | | | | | | | +712: | | | | | | | | | +713: | | | | | | | | | +714: | | | | | | | | | +715: | | | | | | | | | +716: | | | | | | | | | +717: | | | | | | | | | +718: | | | | | | | | | +719: | | | | | | | | | +720: | | | | | | | | | +721: | | | | | | | | | +722: | | | | | | | | | +723: | | | | | | | | | +724: | | | | | | | | | +725: | | | | | | | | | +726: | | | | | | | | | +727: | | | | | | | | | +728: | | | | | | | | | +729: | | | | | | | | | +730: | | | | | | | | | +731: | | | | | | | | | +732: | | | | | | | | | +733: | | | | | | | | | +734: | | | | | | | | | +735: | | | | | | | | | +736: | | | | | | | | | +737: | | | | | | | | | +738: | | | | | | | | | +739: | | | | | | | | | +740: | | | | | | | | | +741: | | | | | | | | | +742: | | | | | | | | | +743: | | | | | | | | | +744: | | | | | | | | | +745: | | | | | | | | | +746: | | | | | | | | | +747: | | | | | | | | | +748: | | | | | | | | | +749: | | | | | | | | | +750: | | | | | | | | | +751: | | | | | | | | | +752: | | | | | | | | | +753: | | | | | | | | | +754: | | | | | | | | | +755: | | | | | | | | | +756: | | | | | | | | | +757: | | | | | | | | | +758: | | | | | | | | | +759: | | | | | | | | | +760: | | | | | | | | | +761: | | | | | | | | | +762: | | | | | | | | | +763: | | | | | | | | | +764: | | | | | | | | | +765: | | | | | | | | | +766: | | | | | | | | | +767: | | | | | | | | | +768: | | | | | | | | | +769: | | | | | | | | | +770: | | | | | | | | | +771: | | | | | | | | | +772: | | | | | | | | | +773: | | | | | | | | | +774: | | | | | | | | | +775: | | | | | | | | | +776: | | | | | | | | | +777: | | | | | | | | | +778: | | | | | | | | | +779: | | | | | | | | | +780: | | | | | | | | | +781: | | | | | | | | | +782: | | | | | | | | | +783: | | | | | | | | | +784: | | | | | | | | | +785: | | | | | | | | | +786: | | | | | | | | | +787: | | | | | | | | | +788: | | | | | | | | | +789: | | | | | | | | | +790: | | | | | | | | | +791: | | | | | | | | | +792: | | | | | | | | | +793: | | | | | | | | | +794: | | | | | | | | | +795: | | | | | | | | | +796: | | | | | | | | | +797: | | | | | | | | | +798: | | | | | | | | | +799: | | | | | | | | | +800: | | | | | | | | | +801: | | | | | | | | | +802: | | | | | | | | | +803: | | | | | | | | | +804: | | | | | | | | | +805: | | | | | | | | | +806: | | | | | | | | | +807: | | | | | | | | | +808: | | | | | | | | | +809: | | | | | | | | | +810: | | | | | | | | | +811: | | | | | | | | | +812: | | | | | | | | | +813: | | | | | | | | | +814: | | | | | | | | | +815: | | | | | | | | | +816: | | | | | | | | | +817: | | | | | | | | | +818: | | | | | | | | | +819: | | | | | | | | | +820: | | | | | | | | | +821: | | | | | | | | | +822: | | | | | | | | | +823: | | | | | | | | | +824: | | | | | | | | | +825: | | | | | | | | | +826: | | | | | | | | | +827: | | | | | | | | | +828: | | | | | | | | | +829: | | | | | | | | | +830: | | | | | | | | | +831: | | | | | | | | | +832: | | | | | | | | | +833: | | | | | | | | | +834: | | | | | | | | | +835: | | | | | | | | | +836: | | | | | | | | | +837: | | | | | | | | | +838: | | | | | | | | | +839: | | | | | | | | | +840: | | | | | | | | | +841: | | | | | | | | | +842: | | | | | | | | | +843: | | | | | | | | | +844: | | | | | | | | | +845: | | | | | | | | | +846: | | | | | | | | | +847: | | | | | | | | | +848: | | | | | | | | | +849: | | | | | | | | | +850: | | | | | | | | | +851: | | | | | | | | | +852: | | | | | | | | | +853: | | | | | | | | | +854: | | | | | | | | | +855: | | | | | | | | | +856: | | | | | | | | | +857: | | | | | | | | | +858: | | | | | | | | | +859: | | | | | | | | | +860: | | | | | | | | | +861: | | | | | | | | | +862: | | | | | | | | | +863: | | | | | | | | | +864: | | | | | | | | | +865: | | | | | | | | | +866: | | | | | | | | | +867: | | | | | | | | | +868: | | | | | | | | | +869: | | | | | | | | | +870: | | | | | | | | | +871: | | | | | | | | | +872: | | | | | | | | | +873: | | | | | | | | | +874: | | | | | | | | | +875: | | | | | | | | | +876: | | | | | | | | | +877: | | | | | | | | | +878: | | | | | | | | | +879: | | | | | | | | | +880: | | | | | | | | | +881: | | | | | | | | | +882: | | | | | | | | | +883: | | | | | | | | | +884: | | | | | | | | | +885: | | | | | | | | | +886: | | | | | | | | | +887: | | | | | | | | | +888: | | | | | | | | | +889: | | | | | | | | | +890: | | | | | | | | | +891: | | | | | | | | | +892: | | | | | | | | | +893: | | | | | | | | | +894: | | | | | | | | | +895: | | | | | | | | | +896: | | | | | | | | | +897: | | | | | | | | | +898: | | | | | | | | | +899: | | | | | | | | | +900: | | | | | | | | | +901: | | | | | | | | | +902: | | | | | | | | | +903: | | | | | | | | | +904: | | | | | | | | | +905: | | | | | | | | | +906: | | | | | | | | | +907: | | | | | | | | | +908: | | | | | | | | | +909: | | | | | | | | | +910: | | | | | | | | | +911: | | | | | | | | | +912: | | | | | | | | | +913: | | | | | | | | | +914: | | | | | | | | | +915: | | | | | | | | | +916: | | | | | | | | | +917: | | | | | | | | | +918: | | | | | | | | | +919: | | | | | | | | | +920: | | | | | | | | | +921: | | | | | | | | | +922: | | | | | | | | | +923: | | | | | | | | | +924: | | | | | | | | | +925: | | | | | | | | | +926: | | | | | | | | | +927: | | | | | | | | | +928: | | | | | | | | | +929: | | | | | | | | | +930: | | | | | | | | | +931: | | | | | | | | | +932: | | | | | | | | | +933: | | | | | | | | | +934: | | | | | | | | | +935: | | | | | | | | | +936: | | | | | | | | | +937: | | | | | | | | | +938: | | | | | | | | | +939: | | | | | | | | | +940: | | | | | | | | | +941: | | | | | | | | | +942: | | | | | | | | | +943: | | | | | | | | | +944: | | | | | | | | | +945: | | | | | | | | | +946: | | | | | | | | | +947: | | | | | | | | | +948: | | | | | | | | | +949: | | | | | | | | | +950: | | | | | | | | | +951: | | | | | | | | | +952: | | | | | | | | | +953: | | | | | | | | | +954: | | | | | | | | | +955: | | | | | | | | | +956: | | | | | | | | | +957: | | | | | | | | | +958: | | | | | | | | | +959: | | | | | | | | | +960: | | | | | | | | | +961: | | | | | | | | | +962: | | | | | | | | | +963: | | | | | | | | | +964: | | | | | | | | | +965: | | | | | | | | | +966: | | | | | | | | | +967: | | | | | | | | | +968: | | | | | | | | | +969: | | | | | | | | | +970: | | | | | | | | | +971: | | | | | | | | | +972: | | | | | | | | | +973: | | | | | | | | | +974: | | | | | | | | | +975: | | | | | | | | | +976: | | | | | | | | | +977: | | | | | | | | | +978: | | | | | | | | | +979: | | | | | | | | | +980: | | | | | | | | | +981: | | | | | | | | | +982: | | | | | | | | | +983: | | | | | | | | | +984: | | | | | | | | | +985: | | | | | | | | | +986: | | | | | | | | | +987: | | | | | | | | | +988: | | | | | | | | | +989: | | | | | | | | | +990: | | | | | | | | | +991: | | | | | | | | | +992: | | | | | | | | | +993: | | | | | | | | | +994: | | | | | | | | | +995: | | | | | | | | | +996: | | | | | | | | | +997: | | | | | | | | | +998: | | | | | | | | | +999: | | | | | | | | | +1000: | | | | | | | | | +1001: | | | | | | | | | +1002: | | | | | | | | | +1003: | | | | | | | | | +1004: | | | | | | | | | +1005: | | | | | | | | | +1006: | | | | | | | | | +1007: | | | | | | | | | +1008: | | | | | | | | | +1009: | | | | | | | | | +1010: | | | | | | | | | +1011: | | | | | | | | | +1012: | | | | | | | | | +1013: | | | | | | | | | +1014: | | | | | | | | | +1015: | | | | | | | | | +1016: | | | | | | | | | +1017: | | | | | | | | | +1018: | | | | | | | | | +1019: | | | | | | | | | +1020: | | | | | | | | | +1021: | | | | | | | | | +1022: | | | | | | | | | +1023: | | | | | | | | | +1024: | | | | | | | | | +1025: | | | | | | | | | +1026: | | | | | | | | | +1027: | | | | | | | | | +1028: | | | | | | | | | +1029: | | | | | | | | | +1030: | | | | | | | | | +1031: | | | | | | | | | +1032: | | | | | | | | | +1033: | | | | | | | | | +1034: | | | | | | | | | +1035: | | | | | | | | | +1036: | | | | | | | | | +1037: | | | | | | | | | +1038: | | | | | | | | | +1039: | | | | | | | | | +1040: | | | | | | | | | +1041: | | | | | | | | | +1042: | | | | | | | | | +1043: | | | | | | | | | +1044: | | | | | | | | | +1045: | | | | | | | | | +1046: | | | | | | | | | +1047: | | | | | | | | | +1048: | | | | | | | | | +1049: | | | | | | | | | +1050: | | | | | | | | | +1051: | | | | | | | | | +1052: | | | | | | | | | +1053: | | | | | | | | | +1054: | | | | | | | | | +1055: | | | | | | | | | +1056: | | | | | | | | | +1057: | | | | | | | | | +1058: | | | | | | | | | +1059: | | | | | | | | | +1060: | | | | | | | | | +1061: | | | | | | | | | +1062: | | | | | | | | | +1063: | | | | | | | | | +1064: | | | | | | | | | +1065: | | | | | | | | | +1066: | | | | | | | | | +1067: | | | | | | | | | +1068: | | | | | | | | | +1069: | | | | | | | | | +1070: | | | | | | | | | +1071: | | | | | | | | | +1072: | | | | | | | | | +1073: | | | | | | | | | +1074: | | | | | | | | | +1075: | | | | | | | | | +1076: | | | | | | | | | +1077: | | | | | | | | | +1078: | | | | | | | | | +1079: | | | | | | | | | +1080: | | | | | | | | | +1081: | | | | | | | | | +1082: | | | | | | | | | +1083: | | | | | | | | | +1084: | | | | | | | | | +1085: | | | | | | | | | +1086: | | | | | | | | | +1087: | | | | | | | | | +1088: | | | | | | | | | +1089: | | | | | | | | | +1090: | | | | | | | | | +1091: | | | | | | | | | +1092: | | | | | | | | | +1093: | | | | | | | | | +1094: | | | | | | | | | +1095: | | | | | | | | | +1096: | | | | | | | | | +1097: | | | | | | | | | +1098: | | | | | | | | | +1099: | | | | | | | | | +1100: | | | | | | | | | +1101: | | | | | | | | | +1102: | | | | | | | | | +1103: | | | | | | | | | +1104: | | | | | | | | | +1105: | | | | | | | | | +1106: | | | | | | | | | +1107: | | | | | | | | | +1108: | | | | | | | | | +1109: | | | | | | | | | +1110: | | | | | | | | | +1111: | | | | | | | | | +1112: | | | | | | | | | +1113: | | | | | | | | | +1114: | | | | | | | | | +1115: | | | | | | | | | +1116: | | | | | | | | | +1117: | | | | | | | | | +1118: | | | | | | | | | +1119: | | | | | | | | | +1120: | | | | | | | | | +1121: | | | | | | | | | +1122: | | | | | | | | | +1123: | | | | | | | | | +1124: | | | | | | | | | +1125: | | | | | | | | | +1126: | | | | | | | | | +1127: | | | | | | | | | +1128: | | | | | | | | | +1129: | | | | | | | | | +1130: | | | | | | | | | +1131: | | | | | | | | | +1132: | | | | | | | | | +1133: | | | | | | | | | +1134: | | | | | | | | | +1135: | | | | | | | | | +1136: | | | | | | | | | +1137: | | | | | | | | | +1138: | | | | | | | | | +1139: | | | | | | | | | +1140: | | | | | | | | | +1141: | | | | | | | | | +1142: | | | | | | | | | +1143: | | | | | | | | | +1144: | | | | | | | | | +1145: | | | | | | | | | +1146: | | | | | | | | | +1147: | | | | | | | | | +1148: | | | | | | | | | +1149: | | | | | | | | | +1150: | | | | | | | | | +1151: | | | | | | | | | +1152: | | | | | | | | | +1153: | | | | | | | | | +1154: | | | | | | | | | +1155: | | | | | | | | | +1156: | | | | | | | | | +1157: | | | | | | | | | +1158: | | | | | | | | | +1159: | | | | | | | | | +1160: | | | | | | | | | +1161: | | | | | | | | | +1162: | | | | | | | | | +1163: | | | | | | | | | +1164: | | | | | | | | | +1165: | | | | | | | | | +1166: | | | | | | | | | +1167: | | | | | | | | | +1168: | | | | | | | | | +1169: | | | | | | | | | +1170: | | | | | | | | | +1171: | | | | | | | | | +1172: | | | | | | | | | +1173: | | | | | | | | | +1174: | | | | | | | | | +1175: | | | | | | | | | +1176: | | | | | | | | | +1177: | | | | | | | | | +1178: | | | | | | | | | +1179: | | | | | | | | | +1180: | | | | | | | | | +1181: | | | | | | | | | +1182: | | | | | | | | | +1183: | | | | | | | | | +1184: | | | | | | | | | +1185: | | | | | | | | | +1186: | | | | | | | | | +1187: | | | | | | | | | +1188: | | | | | | | | | +1189: | | | | | | | | | +1190: | | | | | | | | | +1191: | | | | | | | | | +1192: | | | | | | | | | +1193: | | | | | | | | | +1194: | | | | | | | | | +1195: | | | | | | | | | +1196: | | | | | | | | | +1197: | | | | | | | | | +1198: | | | | | | | | | +1199: | | | | | | | | | +1200: | | | | | | | | | +1201: | | | | | | | | | +1202: | | | | | | | | | +1203: | | | | | | | | | +1204: | | | | | | | | | +1205: | | | | | | | | | +1206: | | | | | | | | | +1207: | | | | | | | | | +1208: | | | | | | | | | +1209: | | | | | | | | | +1210: | | | | | | | | | +1211: | | | | | | | | | +1212: | | | | | | | | | +1213: | | | | | | | | | +1214: | | | | | | | | | +1215: | | | | | | | | | +1216: | | | | | | | | | +1217: | | | | | | | | | +1218: | | | | | | | | | +1219: | | | | | | | | | +1220: | | | | | | | | | +1221: | | | | | | | | | +1222: | | | | | | | | | +1223: | | | | | | | | | +1224: | | | | | | | | | +1225: | | | | | | | | | +1226: | | | | | | | | | +1227: | | | | | | | | | +1228: | | | | | | | | | +1229: | | | | | | | | | +1230: | | | | | | | | | +1231: | | | | | | | | | +1232: | | | | | | | | | +1233: | | | | | | | | | +1234: | | | | | | | | | +1235: | | | | | | | | | +1236: | | | | | | | | | +1237: | | | | | | | | | +1238: | | | | | | | | | +1239: | | | | | | | | | +1240: | | | | | | | | | +1241: | | | | | | | | | +1242: | | | | | | | | | +1243: | | | | | | | | | +1244: | | | | | | | | | +1245: | | | | | | | | | +1246: | | | | | | | | | +1247: | | | | | | | | | +1248: | | | | | | | | | +1249: | | | | | | | | | +1250: | | | | | | | | | +1251: | | | | | | | | | +1252: | | | | | | | | | +1253: | | | | | | | | | +1254: | | | | | | | | | +1255: | | | | | | | | | +1256: | | | | | | | | | +1257: | | | | | | | | | +1258: | | | | | | | | | +1259: | | | | | | | | | +1260: | | | | | | | | | +1261: | | | | | | | | | +1262: | | | | | | | | | +1263: | | | | | | | | | +1264: | | | | | | | | | +1265: | | | | | | | | | +1266: | | | | | | | | | +1267: | | | | | | | | | +1268: | | | | | | | | | +1269: | | | | | | | | | +1270: | | | | | | | | | +1271: | | | | | | | | | +1272: | | | | | | | | | +1273: | | | | | | | | | +1274: | | | | | | | | | +1275: | | | | | | | | | +1276: | | | | | | | | | +1277: | | | | | | | | | +1278: | | | | | | | | | +1279: | | | | | | | | | +1280: | | | | | | | | | +1281: | | | | | | | | | +1282: | | | | | | | | | +1283: | | | | | | | | | +1284: | | | | | | | | | +1285: | | | | | | | | | +1286: | | | | | | | | | +1287: | | | | | | | | | +1288: | | | | | | | | | +1289: | | | | | | | | | +1290: | | | | | | | | | +1291: | | | | | | | | | +1292: | | | | | | | | | +1293: | | | | | | | | | +1294: | | | | | | | | | +1295: | | | | | | | | | +1296: | | | | | | | | | +1297: | | | | | | | | | +1298: | | | | | | | | | +1299: | | | | | | | | | +1300: | | | | | | | | | +1301: | | | | | | | | | +1302: | | | | | | | | | +1303: | | | | | | | | | +1304: | | | | | | | | | +1305: | | | | | | | | | +1306: | | | | | | | | | +1307: | | | | | | | | | +1308: | | | | | | | | | +1309: | | | | | | | | | +1310: | | | | | | | | | +1311: | | | | | | | | | +1312: | | | | | | | | | +1313: | | | | | | | | | +1314: | | | | | | | | | +1315: | | | | | | | | | +1316: | | | | | | | | | +1317: | | | | | | | | | +1318: | | | | | | | | | +1319: | | | | | | | | | +1320: | | | | | | | | | +1321: | | | | | | | | | +1322: | | | | | | | | | +1323: | | | | | | | | | +1324: | | | | | | | | | +1325: | | | | | | | | | +1326: | | | | | | | | | +1327: | | | | | | | | | +1328: | | | | | | | | | +1329: | | | | | | | | | +1330: | | | | | | | | | +1331: | | | | | | | | | +1332: | | | | | | | | | +1333: | | | | | | | | | +1334: | | | | | | | | | +1335: | | | | | | | | | +1336: | | | | | | | | | +1337: | | | | | | | | | +1338: | | | | | | | | | +1339: | | | | | | | | | +1340: | | | | | | | | | +1341: | | | | | | | | | +1342: | | | | | | | | | +1343: | | | | | | | | | +1344: | | | | | | | | | +1345: | | | | | | | | | +1346: | | | | | | | | | +1347: | | | | | | | | | +1348: | | | | | | | | | +1349: | | | | | | | | | +1350: | | | | | | | | | +1351: | | | | | | | | | +1352: | | | | | | | | | +1353: | | | | | | | | | +1354: | | | | | | | | | +1355: | | | | | | | | | +1356: | | | | | | | | | +1357: | | | | | | | | | +1358: | | | | | | | | | +1359: | | | | | | | | | +1360: | | | | | | | | | +1361: | | | | | | | | | +1362: | | | | | | | | | +1363: | | | | | | | | | +1364: | | | | | | | | | +1365: | | | | | | | | | +1366: | | | | | | | | | +1367: | | | | | | | | | +1368: | | | | | | | | | +1369: | | | | | | | | | +1370: | | | | | | | | | +1371: | | | | | | | | | +1372: | | | | | | | | | +1373: | | | | | | | | | +1374: | | | | | | | | | +1375: | | | | | | | | | +1376: | | | | | | | | | +1377: | | | | | | | | | +1378: | | | | | | | | | +1379: | | | | | | | | | +1380: | | | | | | | | | +1381: | | | | | | | | | +1382: | | | | | | | | | +1383: | | | | | | | | | +1384: | | | | | | | | | +1385: | | | | | | | | | +1386: | | | | | | | | | +1387: | | | | | | | | | +1388: | | | | | | | | | +1389: | | | | | | | | | +1390: | | | | | | | | | +1391: | | | | | | | | | +1392: | | | | | | | | | +1393: | | | | | | | | | +1394: | | | | | | | | | +1395: | | | | | | | | | +1396: | | | | | | | | | +1397: | | | | | | | | | +1398: | | | | | | | | | +1399: | | | | | | | | | +1400: | | | | | | | | | +1401: | | | | | | | | | +1402: | | | | | | | | | +1403: | | | | | | | | | +1404: | | | | | | | | | +1405: | | | | | | | | | +1406: | | | | | | | | | +1407: | | | | | | | | | +1408: | | | | | | | | | +1409: | | | | | | | | | +1410: | | | | | | | | | +1411: | | | | | | | | | +1412: | | | | | | | | | +1413: | | | | | | | | | +1414: | | | | | | | | | +1415: | | | | | | | | | +1416: | | | | | | | | | +1417: | | | | | | | | | +1418: | | | | | | | | | +1419: | | | | | | | | | +1420: | | | | | | | | | +1421: | | | | | | | | | +1422: | | | | | | | | | +1423: | | | | | | | | | +1424: | | | | | | | | | +1425: | | | | | | | | | +1426: | | | | | | | | | +1427: | | | | | | | | | +1428: | | | | | | | | | +1429: | | | | | | | | | +1430: | | | | | | | | | +1431: | | | | | | | | | +1432: | | | | | | | | | +1433: | | | | | | | | | +1434: | | | | | | | | | +1435: | | | | | | | | | +1436: | | | | | | | | | +1437: | | | | | | | | | +1438: | | | | | | | | | +1439: | | | | | | | | | +1440: | | | | | | | | | +1441: | | | | | | | | | +1442: | | | | | | | | | +1443: | | | | | | | | | +1444: | | | | | | | | | +1445: | | | | | | | | | +1446: | | | | | | | | | +1447: | | | | | | | | | +1448: | | | | | | | | | +1449: | | | | | | | | | +1450: | | | | | | | | | +1451: | | | | | | | | | +1452: | | | | | | | | | +1453: | | | | | | | | | +1454: | | | | | | | | | +1455: | | | | | | | | | +1456: | | | | | | | | | +1457: | | | | | | | | | +1458: | | | | | | | | | +1459: | | | | | | | | | +1460: | | | | | | | | | +1461: | | | | | | | | | +1462: | | | | | | | | | +1463: | | | | | | | | | +1464: | | | | | | | | | +1465: | | | | | | | | | +1466: | | | | | | | | | +1467: | | | | | | | | | +1468: | | | | | | | | | +1469: | | | | | | | | | +1470: | | | | | | | | | +1471: | | | | | | | | | +1472: | | | | | | | | | +1473: | | | | | | | | | +1474: | | | | | | | | | +1475: | | | | | | | | | +1476: | | | | | | | | | +1477: | | | | | | | | | +1478: | | | | | | | | | +1479: | | | | | | | | | +1480: | | | | | | | | | +1481: | | | | | | | | | +1482: | | | | | | | | | +1483: | | | | | | | | | +1484: | | | | | | | | | +1485: | | | | | | | | | +1486: | | | | | | | | | +1487: | | | | | | | | | +1488: | | | | | | | | | +1489: | | | | | | | | | +1490: | | | | | | | | | +1491: | | | | | | | | | +1492: | | | | | | | | | +1493: | | | | | | | | | +1494: | | | | | | | | | +1495: | | | | | | | | | +1496: | | | | | | | | | +1497: | | | | | | | | | +1498: | | | | | | | | | +1499: | | | | | | | | | +1500: | | | | | | | | | +1501: | | | | | | | | | +1502: | | | | | | | | | +1503: | | | | | | | | | +1504: | | | | | | | | | +1505: | | | | | | | | | +1506: | | | | | | | | | +1507: | | | | | | | | | +1508: | | | | | | | | | +1509: | | | | | | | | | +1510: | | | | | | | | | +1511: | | | | | | | | | +1512: | | | | | | | | | +1513: | | | | | | | | | +1514: | | | | | | | | | +1515: | | | | | | | | | +1516: | | | | | | | | | +1517: | | | | | | | | | +1518: | | | | | | | | | +1519: | | | | | | | | | +1520: | | | | | | | | | +1521: | | | | | | | | | +1522: | | | | | | | | | +1523: | | | | | | | | | +1524: | | | | | | | | | +1525: | | | | | | | | | +1526: | | | | | | | | | +1527: | | | | | | | | | +1528: | | | | | | | | | +1529: | | | | | | | | | +1530: | | | | | | | | | +1531: | | | | | | | | | +1532: | | | | | | | | | +1533: | | | | | | | | | +1534: | | | | | | | | | +1535: | | | | | | | | | +1536: | | | | | | | | | +1537: | | | | | | | | | +1538: | | | | | | | | | +1539: | | | | | | | | | +1540: | | | | | | | | | +1541: | | | | | | | | | +1542: | | | | | | | | | +1543: | | | | | | | | | +1544: | | | | | | | | | +1545: | | | | | | | | | +1546: | | | | | | | | | +1547: | | | | | | | | | +1548: | | | | | | | | | +1549: | | | | | | | | | +1550: | | | | | | | | | +1551: | | | | | | | | | +1552: | | | | | | | | | +1553: | | | | | | | | | +1554: | | | | | | | | | +1555: | | | | | | | | | +1556: | | | | | | | | | +1557: | | | | | | | | | +1558: | | | | | | | | | +1559: | | | | | | | | | +1560: | | | | | | | | | +1561: | | | | | | | | | +1562: | | | | | | | | | +1563: | | | | | | | | | +1564: | | | | | | | | | +1565: | | | | | | | | | +1566: | | | | | | | | | +1567: | | | | | | | | | +1568: | | | | | | | | | +1569: | | | | | | | | | +1570: | | | | | | | | | +1571: | | | | | | | | | +1572: | | | | | | | | | +1573: | | | | | | | | | +1574: | | | | | | | | | +1575: | | | | | | | | | +1576: | | | | | | | | | +1577: | | | | | | | | | +1578: | | | | | | | | | +1579: | | | | | | | | | +1580: | | | | | | | | | +1581: | | | | | | | | | +1582: | | | | | | | | | +1583: | | | | | | | | | +1584: | | | | | | | | | +1585: | | | | | | | | | +1586: | | | | | | | | | +1587: | | | | | | | | | +1588: | | | | | | | | | +1589: | | | | | | | | | +1590: | | | | | | | | | +1591: | | | | | | | | | +1592: | | | | | | | | | +1593: | | | | | | | | | +1594: | | | | | | | | | +1595: | | | | | | | | | +1596: | | | | | | | | | +1597: | | | | | | | | | +1598: | | | | | | | | | +1599: | | | | | | | | | +1600: | | | | | | | | | +1601: | | | | | | | | | +1602: | | | | | | | | | +1603: | | | | | | | | | +1604: | | | | | | | | | +1605: | | | | | | | | | +1606: | | | | | | | | | +1607: | | | | | | | | | +1608: | | | | | | | | | +1609: | | | | | | | | | +1610: | | | | | | | | | +1611: | | | | | | | | | +1612: | | | | | | | | | +1613: | | | | | | | | | +1614: | | | | | | | | | +1615: | | | | | | | | | +1616: | | | | | | | | | +1617: | | | | | | | | | +1618: | | | | | | | | | +1619: | | | | | | | | | +1620: | | | | | | | | | +1621: | | | | | | | | | +1622: | | | | | | | | | +1623: | | | | | | | | | +1624: | | | | | | | | | +1625: | | | | | | | | | +1626: | | | | | | | | | +1627: | | | | | | | | | +1628: | | | | | | | | | +1629: | | | | | | | | | +1630: | | | | | | | | | +1631: | | | | | | | | | +1632: | | | | | | | | | +1633: | | | | | | | | | +1634: | | | | | | | | | +1635: | | | | | | | | | +1636: | | | | | | | | | +1637: | | | | | | | | | +1638: | | | | | | | | | +1639: | | | | | | | | | +1640: | | | | | | | | | +1641: | | | | | | | | | +1642: | | | | | | | | | +1643: | | | | | | | | | +1644: | | | | | | | | | +1645: | | | | | | | | | +1646: | | | | | | | | | +1647: | | | | | | | | | +1648: | | | | | | | | | +1649: | | | | | | | | | +1650: | | | | | | | | | +1651: | | | | | | | | | +1652: | | | | | | | | | +1653: | | | | | | | | | +1654: | | | | | | | | | +1655: | | | | | | | | | +1656: | | | | | | | | | +1657: | | | | | | | | | +1658: | | | | | | | | | +1659: | | | | | | | | | +1660: | | | | | | | | | +1661: | | | | | | | | | +1662: | | | | | | | | | +1663: | | | | | | | | | +1664: | | | | | | | | | +1665: | | | | | | | | | +1666: | | | | | | | | | +1667: | | | | | | | | | +1668: | | | | | | | | | +1669: | | | | | | | | | +1670: | | | | | | | | | +1671: | | | | | | | | | +1672: | | | | | | | | | +1673: | | | | | | | | | +1674: | | | | | | | | | +1675: | | | | | | | | | +1676: | | | | | | | | | +1677: | | | | | | | | | +1678: | | | | | | | | | +1679: | | | | | | | | | +1680: | | | | | | | | | +1681: | | | | | | | | | +1682: | | | | | | | | | +1683: | | | | | | | | | +1684: | | | | | | | | | +1685: | | | | | | | | | +1686: | | | | | | | | | +1687: | | | | | | | | | +1688: | | | | | | | | | +1689: | | | | | | | | | +1690: | | | | | | | | | +1691: | | | | | | | | | +1692: | | | | | | | | | +1693: | | | | | | | | | +1694: | | | | | | | | | +1695: | | | | | | | | | +1696: | | | | | | | | | +1697: | | | | | | | | | +1698: | | | | | | | | | +1699: | | | | | | | | | +1700: | | | | | | | | | +1701: | | | | | | | | | +1702: | | | | | | | | | +1703: | | | | | | | | | +1704: | | | | | | | | | +1705: | | | | | | | | | +1706: | | | | | | | | | +1707: | | | | | | | | | +1708: | | | | | | | | | +1709: | | | | | | | | | +1710: | | | | | | | | | +1711: | | | | | | | | | +1712: | | | | | | | | | +1713: | | | | | | | | | +1714: | | | | | | | | | +1715: | | | | | | | | | +1716: | | | | | | | | | +1717: | | | | | | | | | +1718: | | | | | | | | | +1719: | | | | | | | | | +1720: | | | | | | | | | +1721: | | | | | | | | | +1722: | | | | | | | | | +1723: | | | | | | | | | +1724: | | | | | | | | | +1725: | | | | | | | | | +1726: | | | | | | | | | +1727: | | | | | | | | | +1728: | | | | | | | | | +1729: | | | | | | | | | +1730: | | | | | | | | | +1731: | | | | | | | | | +1732: | | | | | | | | | +1733: | | | | | | | | | +1734: | | | | | | | | | +1735: | | | | | | | | | +1736: | | | | | | | | | +1737: | | | | | | | | | +1738: | | | | | | | | | +1739: | | | | | | | | | +1740: | | | | | | | | | +1741: | | | | | | | | | +1742: | | | | | | | | | +1743: | | | | | | | | | +1744: | | | | | | | | | +1745: | | | | | | | | | +1746: | | | | | | | | | +1747: | | | | | | | | | +1748: | | | | | | | | | +1749: | | | | | | | | | +1750: | | | | | | | | | +1751: | | | | | | | | | +1752: | | | | | | | | | +1753: | | | | | | | | | +1754: | | | | | | | | | +1755: | | | | | | | | | +1756: | | | | | | | | | +1757: | | | | | | | | | +1758: | | | | | | | | | +1759: | | | | | | | | | +1760: | | | | | | | | | +1761: | | | | | | | | | +1762: | | | | | | | | | +1763: | | | | | | | | | +1764: | | | | | | | | | +1765: | | | | | | | | | +1766: | | | | | | | | | +1767: | | | | | | | | | +1768: | | | | | | | | | +1769: | | | | | | | | | +1770: | | | | | | | | | +1771: | | | | | | | | | +1772: | | | | | | | | | +1773: | | | | | | | | | +1774: | | | | | | | | | +1775: | | | | | | | | | +1776: | | | | | | | | | +1777: | | | | | | | | | +1778: | | | | | | | | | +1779: | | | | | | | | | +1780: | | | | | | | | | +1781: | | | | | | | | | +1782: | | | | | | | | | +1783: | | | | | | | | | +1784: | | | | | | | | | +1785: | | | | | | | | | +1786: | | | | | | | | | +1787: | | | | | | | | | +1788: | | | | | | | | | +1789: | | | | | | | | | +1790: | | | | | | | | | +1791: | | | | | | | | | +1792: | | | | | | | | | +1793: | | | | | | | | | +1794: | | | | | | | | | +1795: | | | | | | | | | +1796: | | | | | | | | | +1797: | | | | | | | | | +1798: | | | | | | | | | +1799: | | | | | | | | | diff --git a/src/java/autotest/io/qt/autotests/TestDesignerQuick.java b/src/java/autotest/io/qt/autotests/TestDesignerQuick.java index 750e6391..b0603c52 100644 --- a/src/java/autotest/io/qt/autotests/TestDesignerQuick.java +++ b/src/java/autotest/io/qt/autotests/TestDesignerQuick.java @@ -7,7 +7,6 @@ import org.junit.BeforeClass; import org.junit.Test; -import io.qt.QtUtilities; import io.qt.core.*; import io.qt.designer.*; import io.qt.quick.*; diff --git a/src/java/autotest/io/qt/autotests/TestInjectedCode.java b/src/java/autotest/io/qt/autotests/TestInjectedCode.java index 97f65fc6..720bfb36 100644 --- a/src/java/autotest/io/qt/autotests/TestInjectedCode.java +++ b/src/java/autotest/io/qt/autotests/TestInjectedCode.java @@ -1077,11 +1077,24 @@ public void testQBrushGradient() { @Test public void testQImageLoadFromData() { - QImage img = new QImage(); + QImage img; QFile file = new QFile(":io/qt/autotests/svgcards-example.png"); assertTrue(file.open(QIODevice.OpenModeFlag.ReadOnly)); + img = new QImage(); + img.load(file, "png"); + assertFalse(img.isNull()); + assertEquals(418, img.width()); + file.reset(); + QByteArray data = file.readAll(); + img = new QImage(); + img.loadFromData(data.toByteArray()); + assertFalse(img.isNull()); + assertEquals(418, img.width()); + file.reset(); + + img = new QImage(); img.load(file, "JPEG"); assertTrue(img.isNull()); // this assert fails when plugins did not load diff --git a/src/java/autotest/io/qt/autotests/TestQml.java b/src/java/autotest/io/qt/autotests/TestQml.java index 19be4aa2..38f559c7 100644 --- a/src/java/autotest/io/qt/autotests/TestQml.java +++ b/src/java/autotest/io/qt/autotests/TestQml.java @@ -286,7 +286,7 @@ public void tearDown() { public void run_test() { QtQml.qmlClearTypeRegistrations(); QtQml.qmlRegisterType(TestChild.class, "io.qt.test", 1, 0, "TestChild"); - QtQml.qmlRegisterType(TestObject.class, "io.qt.test", 1, 0, "TestObject"); + int id = QtQml.qmlRegisterType(TestObject.class, "io.qt.test", 1, 0, "TestObject"); QByteArray data = new QByteArray("import io.qt.test 1.0\n" + "import QtQuick 2.0\n" + "TestObject {\n" + @@ -313,6 +313,7 @@ public void run_test() { Assert.assertEquals("child1", backEnd.testChildren.at(0).objectName()); Assert.assertEquals("child2", backEnd._testChildren.get(1).objectName()); Assert.assertEquals("child2", backEnd.testChildren.at(1).objectName()); + Assert.assertEquals(id, QtQml.qmlTypeId("io.qt.test", 1, 0, "TestObject")); } @Test @@ -771,7 +772,7 @@ public void run_testPropertieswithObjectTypes() { QtQml.qmlRegisterType(Message.class, "io.qt.test", 1, 0, "Message"); AtomicBoolean singletonCreated = new AtomicBoolean(); QtQml.ObjectCallback objectCallback; - QtQml.qmlRegisterSingletonType(Singleton.class, "io.qt.test", 1, 0, "TextSource", objectCallback = (QQmlEngine qmlEngine, QJSEngine jsEngine)->{ + int singletonId = QtQml.qmlRegisterSingletonType(Singleton.class, "io.qt.test", 1, 0, "TextSource", objectCallback = (QQmlEngine qmlEngine, QJSEngine jsEngine)->{ singletonCreated.set(true); return new Singleton(); }); @@ -816,6 +817,12 @@ public void run_testPropertieswithObjectTypes() { Assert.assertTrue(singletonCreated.get()); objectCallback.dispose(); valueCallback.dispose(); + QObject singleton = engine.singletonInstance(QObject.class, singletonId); + Assert.assertTrue(singleton!=null); + singleton = engine.singletonInstance(QQuickItem.class, singletonId); + Assert.assertTrue(singleton==null); + singleton = engine.singletonInstance(Singleton.class, singletonId); + Assert.assertTrue(singleton!=null); } @Test diff --git a/src/java/autotest/io/qt/autotests/TestQmlPlugin.java b/src/java/autotest/io/qt/autotests/TestQmlPlugin.java index f7570566..562d7e02 100644 --- a/src/java/autotest/io/qt/autotests/TestQmlPlugin.java +++ b/src/java/autotest/io/qt/autotests/TestQmlPlugin.java @@ -28,6 +28,8 @@ ****************************************************************************/ package io.qt.autotests; +import java.io.File; + import org.junit.Assert; import org.junit.Assume; import org.junit.BeforeClass; @@ -56,10 +58,10 @@ public void run_testQmlPlugin() { QByteArray data = new QByteArray("import io.qt.test.car 2.0; Car {}"); QQmlEngine qmlengine = new QQmlEngine(); String version = QtJambiInternal.majorVersion()+"."+QtJambiInternal.minorVersion()+"."+QtJambiInternal.qtjambiPatchVersion(); - if(QtJambiInternal.isDebugBuild()) { - qmlengine.addImportPath(QDir.fromNativeSeparators(System.getProperty("user.dir", ""))+"/"+version+"/build/tests/debug/qml"); - }else { - qmlengine.addImportPath(QDir.fromNativeSeparators(System.getProperty("user.dir", ""))+"/"+version+"/build/tests/release/qml"); + String imports = System.getProperty("io.qt.qml.imports", ""); + if(!imports.isEmpty()) { + for(String i : imports.split(File.pathSeparator)) + qmlengine.addImportPath(i); } for(String path : QCoreApplication.libraryPaths()) { qmlengine.addImportPath(path); @@ -99,10 +101,10 @@ public void run_testQmlPlugin2() { QByteArray data = new QByteArray("import io.qt.test.car 2.0; import io.qt.test.garage 2.0; Garage{Car{}}"); QQmlEngine qmlengine = new QQmlEngine(); String version = QtJambiInternal.majorVersion()+"."+QtJambiInternal.minorVersion()+"."+QtJambiInternal.qtjambiPatchVersion(); - if(QtJambiInternal.isDebugBuild()) { - qmlengine.addImportPath(QDir.fromNativeSeparators(System.getProperty("user.dir", ""))+"/"+version+"/build/tests/debug/qml"); - }else { - qmlengine.addImportPath(QDir.fromNativeSeparators(System.getProperty("user.dir", ""))+"/"+version+"/build/tests/release/qml"); + String imports = System.getProperty("io.qt.qml-imports", ""); + if(!imports.isEmpty()) { + for(String i : imports.split(File.pathSeparator)) + qmlengine.addImportPath(i); } for(String path : QCoreApplication.libraryPaths()) { qmlengine.addImportPath(path); diff --git a/src/java/autotest/io/qt/autotests/TestQmlQt6.java b/src/java/autotest/io/qt/autotests/TestQmlQt6.java new file mode 100644 index 00000000..a2e6e6c5 --- /dev/null +++ b/src/java/autotest/io/qt/autotests/TestQmlQt6.java @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2022 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** ** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.autotests; + +import org.junit.Assert; +import org.junit.Test; + +import io.qt.core.QCoreApplication; +import io.qt.core.QObject; +import io.qt.qml.QJSEngine; +import io.qt.qml.QJSValue; + +public class TestQmlQt6 extends ApplicationInitializer{ + + @Test + public void testJSValue() { + QJSEngine engine = new QJSEngine(); + QJSValue value = engine.toScriptValue(5.4); + Assert.assertTrue(value.isNumber()); + Assert.assertEquals(0.000001, 5.4, value.toDouble()); + value = engine.toScriptValue(QCoreApplication.instance()); + Assert.assertTrue(value.isObject()); + QObject result = engine.fromScriptValue(value, QObject.class); + Assert.assertEquals(QCoreApplication.instance(), result); + } +} diff --git a/src/java/autotest/io/qt/autotests/TestThreads.java b/src/java/autotest/io/qt/autotests/TestThreads.java index e637791a..481ffa8a 100644 --- a/src/java/autotest/io/qt/autotests/TestThreads.java +++ b/src/java/autotest/io/qt/autotests/TestThreads.java @@ -718,8 +718,11 @@ protected void run() { thread = QThread.create(()->{ obj.startTimer(0); }); + thread.setUncaughtExceptionHandler((t,e)->{occurred[0] = e;}); thread.start(); thread.join(); + Assert.assertTrue(occurred[0] instanceof QThreadAffinityException); + occurred[0] = null; } public static void main(String args[]) { diff --git a/src/java/autotest/io/qt/autotests/TestWebEngineQuickQt5.java b/src/java/autotest/io/qt/autotests/TestWebEngineQuickQt5.java new file mode 100644 index 00000000..0119cdb2 --- /dev/null +++ b/src/java/autotest/io/qt/autotests/TestWebEngineQuickQt5.java @@ -0,0 +1,109 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2022 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** ** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.autotests; + +import static org.junit.Assume.assumeTrue; + +import org.junit.BeforeClass; +import org.junit.Test; + +import io.qt.QtInvokable; +import io.qt.QtUtilities; +import io.qt.core.QByteArray; +import io.qt.core.QCoreApplication; +import io.qt.core.QList; +import io.qt.core.QMetaMethod; +import io.qt.core.QObject; +import io.qt.core.Qt; +import io.qt.gui.QGuiApplication; +import io.qt.gui.QOpenGLContext; +import io.qt.qml.QQmlApplicationEngine; +import io.qt.webengine.QtWebEngine; +import io.qt.widgets.QApplication; + +public class TestWebEngineQuickQt5 extends ApplicationInitializer { + + @BeforeClass + public static void testInitialize() throws Exception { + QtUtilities.initializePackage("io.qt.webengine"); + QCoreApplication.setAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts); + ApplicationInitializer.testInitializeWithGui(); + assumeTrue("A screen is required to create a window.", QGuiApplication.primaryScreen()!=null); + boolean found = false; + try { + Class cls = Class.forName("io.qt.webengine.QtWebEngine"); + if (cls != null) + found = true; + } catch (ClassNotFoundException e) { + } + assumeTrue("QtWebEngine not available.", found); + assumeTrue("global share context not available.", QOpenGLContext.globalShareContext()!=null); + QtWebEngine.initialize(); + QtUtilities.initializePackage("io.qt.quick"); + QtUtilities.loadQtLibrary("QuickControls2"); + } + + public static class UIController extends QObject { + @QtInvokable public void passWebView(Object obj) { + System.out.println("got " + obj.getClass().getName() + ": " + obj); + QApplication.quit(); + } + } + + @Test + public void test1() { + QQmlApplicationEngine engine = new QQmlApplicationEngine(); + engine.loadData(new QByteArray("import QtWebEngine 1.0\nWebEngineView{}")); + engine.setOutputWarningsToStandardError(true); + engine.warnings.connect(e -> System.out.println(e)); + QList rootObjects = engine.rootObjects(); + dump(rootObjects, 0); + } + + private static void dump(QList objects, int nestedLevel) { + final StringBuilder suffix = new StringBuilder(); + for (int i = 0; i < nestedLevel; i++) { + suffix.append(" "); + } + for (QObject obj : objects) { + System.out.println(suffix + "| " + obj.getClass().getName() + ": " + obj); + obj.metaObject().methods().forEach(mtd -> { +// System.out.println(suffix + " "+mtd.cppMethodSignature()); + if(mtd.methodType()==QMetaMethod.MethodType.Signal) { + System.out.println(suffix + " "+mtd.toSignal(obj)); + } + }); + dump(obj.children(), nestedLevel+1); + } + } + + public static void main(String args[]) { + org.junit.runner.JUnitCore.main(TestWebEngineQuickQt5.class.getName()); + } +} diff --git a/src/java/autotest/io/qt/autotests/TestWebEngineQuickQt6.java b/src/java/autotest/io/qt/autotests/TestWebEngineQuickQt6.java new file mode 100644 index 00000000..7269916b --- /dev/null +++ b/src/java/autotest/io/qt/autotests/TestWebEngineQuickQt6.java @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2009-2022 Dr. Peter Droste, Omix Visualization GmbH & Co. KG. All rights reserved. +** +** This file is part of Qt Jambi. +** +** ** $BEGIN_LICENSE$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** $END_LICENSE$ +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +****************************************************************************/ +package io.qt.autotests; + +import static org.junit.Assume.assumeTrue; +import org.junit.*; + +import org.junit.BeforeClass; +import org.junit.Test; + +import io.qt.QtInvokable; +import io.qt.QtUtilities; +import io.qt.core.*; +import io.qt.gui.*; +import io.qt.qml.*; +import io.qt.quick.*; +import io.qt.webengine.core.*; +import io.qt.webengine.quick.*; +import io.qt.widgets.*; + +public class TestWebEngineQuickQt6 extends ApplicationInitializer { + + @BeforeClass + public static void testInitialize() throws Exception { + QtUtilities.initializePackage("io.qt.webengine.quick"); + QCoreApplication.setAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts); + ApplicationInitializer.testInitializeWithGui(); + assumeTrue("A screen is required to create a window.", QGuiApplication.primaryScreen()!=null); + boolean found = false; + try { + Class cls = Class.forName("io.qt.webengine.quick.QtWebEngineQuick"); + if (cls != null) + found = true; + } catch (ClassNotFoundException e) { + } + assumeTrue("QWebEngineView not available.", found); + assumeTrue("global share context not available.", QOpenGLContext.globalShareContext()!=null); + QWebEngineProfile.defaultProfile().settings().setAttribute(QWebEngineSettings.WebAttribute.PluginsEnabled, true); + QWebEngineProfile.defaultProfile().settings().setAttribute(QWebEngineSettings.WebAttribute.DnsPrefetchEnabled, true); + QWebEngineProfile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.PersistentCookiesPolicy.AllowPersistentCookies); + QtWebEngineQuick.initialize(); + QtUtilities.initializePackage("io.qt.quick"); + QtUtilities.loadQtLibrary("QuickControls2"); + } + + @Test + public void test1() { + QQmlApplicationEngine engine = new QQmlApplicationEngine(); + engine.loadData(new QByteArray("import QtWebEngine\nWebEngineView{}")); + QList rootObjects = engine.rootObjects(); + Assert.assertTrue(rootObjects.get(0)!=null); + dump(rootObjects, 0); + QObject webEngineView = rootObjects.get(0); + QObject settings = (QObject)webEngineView.property("settings"); + QObject userScripts = (QObject)webEngineView.property("userScripts"); + QWebEngineSettings _settings = QtWebEngineQuick.toWebEngineSettings(settings); + QWebEngineScriptCollection _userScripts = QtWebEngineQuick.toWebEngineScriptCollection(userScripts); + Assert.assertTrue(_settings!=null); + Assert.assertTrue(_userScripts!=null); + boolean value = QVariant.toBoolean(settings.property("autoLoadImages")); + _settings.setAttribute(QWebEngineSettings.WebAttribute.AutoLoadImages, !value); + Assert.assertEquals(!value, settings.property("autoLoadImages")); + settings.setProperty("autoLoadImages", value); + Assert.assertEquals(value, _settings.testAttribute(QWebEngineSettings.WebAttribute.AutoLoadImages)); + Assert.assertEquals(0, _userScripts.count()); + _userScripts.insert(new QWebEngineScript()); + Assert.assertEquals(1, _userScripts.count()); + userScripts.metaObject().method("insert", QWebEngineScript.class).invoke(userScripts, new QWebEngineScript()); + Assert.assertEquals(2, _userScripts.count()); + _settings.dispose(); + Assert.assertFalse(settings.isDisposed()); + settings.property("autoLoadImages");// should not crash + engine.dispose(); + Assert.assertTrue(webEngineView.isDisposed()); + Assert.assertTrue(userScripts.isDisposed()); + Assert.assertTrue(_userScripts.isDisposed()); + Assert.assertTrue(settings.isDisposed()); + } + + private static void dump(QList objects, int nestedLevel) { + StringBuilder suffix = new StringBuilder(); + for (int i = 0; i < nestedLevel; i++) { + suffix.append(" "); + } + for (QObject obj : objects) { +// System.out.println(suffix + "| " + obj.getClass().getName() + ": " + obj); + obj.metaObject().methods().forEach(mtd -> { + if(mtd.methodType()==QMetaMethod.MethodType.Signal) { + mtd.toSignal(obj); // must not crash for nonconstructible metatypes + } + }); + dump(obj.children(), nestedLevel+1); + } + } + + public static void main(String args[]) { + org.junit.runner.JUnitCore.main(TestWebEngineQuickQt6.class.getName()); + } +} diff --git a/src/java/autotest/io/qt/autotests/TestWebEngineWidgets.java b/src/java/autotest/io/qt/autotests/TestWebEngineWidgets.java index 8148fad1..5378a0b2 100644 --- a/src/java/autotest/io/qt/autotests/TestWebEngineWidgets.java +++ b/src/java/autotest/io/qt/autotests/TestWebEngineWidgets.java @@ -30,21 +30,28 @@ import static org.junit.Assume.assumeTrue; +import java.util.function.Consumer; + import org.junit.BeforeClass; import org.junit.Test; import io.qt.QtUtilities; -import io.qt.core.*; -import io.qt.gui.*; +import io.qt.core.QCoreApplication; +import io.qt.core.QTimer; +import io.qt.core.QUrl; +import io.qt.core.Qt; +import io.qt.gui.QGuiApplication; +import io.qt.gui.QOpenGLContext; import io.qt.webengine.core.*; import io.qt.webengine.widgets.*; -import io.qt.widgets.*; +import io.qt.widgets.QApplication; public class TestWebEngineWidgets extends ApplicationInitializer { @BeforeClass public static void testInitialize() throws Exception { QtUtilities.initializePackage("io.qt.webengine.widgets"); + QCoreApplication.setAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts); ApplicationInitializer.testInitializeWithWidgets(); assumeTrue("A screen is required to create a window.", QGuiApplication.primaryScreen()!=null); boolean found = false; @@ -56,13 +63,13 @@ public static void testInitialize() throws Exception { } assumeTrue("QWebEngineView not available.", found); assumeTrue("global share context not available.", QOpenGLContext.globalShareContext()!=null); + QWebEngineProfile.defaultProfile().settings().setAttribute(QWebEngineSettings.WebAttribute.PluginsEnabled, true); + QWebEngineProfile.defaultProfile().settings().setAttribute(QWebEngineSettings.WebAttribute.DnsPrefetchEnabled, true); + QWebEngineProfile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.PersistentCookiesPolicy.AllowPersistentCookies); } @Test public void test() { - QWebEngineProfile.defaultProfile().settings().setAttribute(QWebEngineSettings.WebAttribute.PluginsEnabled, true); - QWebEngineProfile.defaultProfile().settings().setAttribute(QWebEngineSettings.WebAttribute.DnsPrefetchEnabled, true); - QWebEngineProfile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.PersistentCookiesPolicy.AllowPersistentCookies); QWebEngineView webView = new QWebEngineView(); webView.load(new QUrl("http://www.qt.io")); webView.loadProgress.connect(progress -> { if(progress>95) webView.close(); }); @@ -72,6 +79,24 @@ public void test() { webView.dispose(); } + @Test + public void testRunJavaScript() { + QWebEngineView view = new QWebEngineView(); + QWebEnginePage page = new QWebEnginePage(view); + view.setPage(page); + page.load(new QUrl("http://info.cern.ch/")); + page.runJavaScript("window", new Consumer() { + @Override + public void accept(Object o) { + System.out.println("test " + o); // always creates a crash if you interact with this object in any way + view.close(); + } + }); + view.show(); + QTimer.singleShot(25000, QApplication::quit); + QApplication.exec(); + } + public static void main(String args[]) { org.junit.runner.JUnitCore.main(TestWebEngineWidgets.class.getName()); } diff --git a/src/java/autotest/io/qt/autotests/resources.jar b/src/java/autotest/io/qt/autotests/resources.jar index e738ce5a..d7f65861 100644 Binary files a/src/java/autotest/io/qt/autotests/resources.jar and b/src/java/autotest/io/qt/autotests/resources.jar differ diff --git a/src/java/qtjambi-modules/modules.xml b/src/java/qtjambi-modules/modules.xml index 91fee9da..eea34e14 100644 --- a/src/java/qtjambi-modules/modules.xml +++ b/src/java/qtjambi-modules/modules.xml @@ -354,12 +354,12 @@ - - - - - - + + + + + + diff --git a/src/java/qtjambi-modules/qtjambi/main/io/qt/core/QMetaObject.java b/src/java/qtjambi-modules/qtjambi/main/io/qt/core/QMetaObject.java index a9587756..d55d6313 100644 --- a/src/java/qtjambi-modules/qtjambi/main/io/qt/core/QMetaObject.java +++ b/src/java/qtjambi-modules/qtjambi/main/io/qt/core/QMetaObject.java @@ -44,7 +44,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.TreeMap; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; @@ -65,8 +64,8 @@ import io.qt.QtThreadAffineInterface; import io.qt.QtUninvokable; import io.qt.QtUtilities; -import io.qt.internal.QtJambiPropertyInfo; import io.qt.internal.QtJambiInternal; +import io.qt.internal.QtJambiPropertyInfo; import io.qt.internal.QtJambiSignals; /** @@ -450,6 +449,13 @@ public QMetaProperty property(String name) { @QtUninvokable private native QMetaProperty property(long metaObjectPointer, String name); + @QtUninvokable + public QMetaProperty property(int index) { + return propertyByIndex(this.metaObjectPointer, index); + } + @QtUninvokable + private native QMetaProperty propertyByIndex(long metaObjectPointer, int index); + @QtUninvokable public QList enumerators() { return enumerators(this.metaObjectPointer); @@ -471,6 +477,13 @@ public io.qt.core.QMetaEnum enumerator(String name) { @QtUninvokable private static native QMetaEnum enumerator(long metaObjectPointer, String name); + @QtUninvokable + public io.qt.core.QMetaEnum enumerator(int index) { + return enumeratorByIndex(this.metaObjectPointer, index); + } + @QtUninvokable + private static native QMetaEnum enumeratorByIndex(long metaObjectPointer, int index); + @QtUninvokable public static void connectSlotsByName(QObject object) { connectSlotsByName(QtJambi_LibraryUtilities.internal.checkedNativeId(object)); @@ -496,7 +509,7 @@ static String internalNameOfType(Class cls) { } @QtUninvokable - QMetaMethod methodByIndex(int methodIndex) { + public final QMetaMethod method(int methodIndex) { return methodByIndex(metaObjectPointer, methodIndex); } @QtUninvokable @@ -595,6 +608,13 @@ public QMetaMethod constructor(Class... parameterTypes) { @QtUninvokable private native QMetaMethod constructor(long metaObjectPointer, String normalizedSignature); + @QtUninvokable + public QMetaMethod constructor(int index) { + return constructorByIndex(metaObjectPointer, index); + } + @QtUninvokable + private native QMetaMethod constructorByIndex(long metaObjectPointer, int index); + @QtUninvokable public final QList constructors(){ return constructors(metaObjectPointer); @@ -10211,8 +10231,8 @@ public static AbstractSignal findSignal(QObject sender, String name, Class... @QtUninvokable private static AbstractSignal findSignalImpl(QObject sender, String name, Class... types){ - QtJambi_LibraryUtilities.internal.checkedNativeId(Objects.requireNonNull(sender)); - return QtJambiInternal.findSignal(sender, name, types); + QMetaMethod signal = sender.metaObject().method(name, types); + return signal.toSignal(sender); } @QtUninvokable diff --git a/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiInternal.java b/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiInternal.java index 9636b674..b879ed6e 100644 --- a/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiInternal.java +++ b/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiInternal.java @@ -111,6 +111,7 @@ import io.qt.core.QHash; import io.qt.core.QList; import io.qt.core.QMap; +import io.qt.core.QMetaMethod; import io.qt.core.QMetaObject; import io.qt.core.QMetaObject.Method3; import io.qt.core.QMetaObject.Method4; @@ -1854,44 +1855,47 @@ private static QMetaObject.DisposedSignal takeSignalOnDispose(NativeLink nativeL return disposedSignals.remove(nativeLink); } - public static QMetaObject.AbstractSignal findSignal(Object sender, String name, - Class... types) { - for (Class cls = QtJambiInternal.getClass(sender); cls!=null && cls!=Object.class; cls = cls.getSuperclass()) { - try { - Field f = cls.getDeclaredField(name); - if (!java.lang.reflect.Modifier.isStatic(f.getModifiers())) { - if (QMetaObject.AbstractSignal.class.isAssignableFrom(f.getType())) { - AbstractSignal signal = (AbstractSignal) fetchField(sender, f); - if (signal != null) { - if (signal.matchTypes(types)) { - return (QMetaObject.AbstractSignal) signal; - } - } - } else if (QtJambiSignals.AbstractMultiSignal.class.isAssignableFrom(f.getType())) { - QtJambiSignals.AbstractMultiSignal multiSignal = (QtJambiSignals.AbstractMultiSignal) fetchField(sender, f); - for (AbstractSignal signal : multiSignal.signals()) { - if (signal.matchTypes(types)) { - return (QMetaObject.AbstractSignal) signal; - } + @SuppressWarnings("unlikely-arg-type") + public static QMetaObject.AbstractSignal findSignal(QObject sender, QMetaMethod method) { + int methodIndex = method.methodIndex(); + Class cls = method.enclosingMetaObject().type(); + if(cls==null) + cls = getClass(sender); + if(cls!=null) { + while(cls!=null && cls!=Object.class) { + try { + Field f = cls.getDeclaredField(method.name().toString()); + if (!java.lang.reflect.Modifier.isStatic(f.getModifiers())) { + if (AbstractSignal.class.isAssignableFrom(f.getType())) { + try { + AbstractSignal signal = (AbstractSignal) fetchField(sender, f); + if (signal != null) { + if(signal.methodIndex()==methodIndex) + return (QMetaObject.AbstractSignal) signal; + if(method.name().equals(signal.name()) && signal.argumentTypes().equals(method.parameterClassTypes())) { + return (QMetaObject.AbstractSignal) signal; + } + } + }catch(Throwable t) {} + } else if (QtJambiSignals.AbstractMultiSignal.class.isAssignableFrom(f.getType())) { + try { + QtJambiSignals.AbstractMultiSignal multiSignal = (QtJambiSignals.AbstractMultiSignal) fetchField(sender, f); + for (AbstractSignal signal : multiSignal.signals()) { + if (signal.methodIndex()==methodIndex) { + return (QMetaObject.AbstractSignal) signal; + } + } + }catch(Throwable t) {} } } - } - } catch (NoSuchFieldException | SecurityException t) { + }catch(Throwable t) {} + cls = cls.getSuperclass(); } } - if (sender instanceof QObject) { - List listOfExtraSignal = getListOfExtraSignal( - internalAccess.nativeId((QObject) sender)); - for (AbstractSignal signal : listOfExtraSignal) { - if (signal.name().equals(name) && signal.matchTypes(types)) { - return (QMetaObject.AbstractSignal) signal; - } - } - } - return null; + return getExtraSignal(internalAccess.nativeId(sender), internalAccess.nativeId(method)); } - - native static List getListOfExtraSignal(long sender__id); + + native static QMetaObject.AbstractSignal getExtraSignal(long sender__id, long method__id); private static interface Check { void check() throws Exception; diff --git a/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiSignals.java b/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiSignals.java index dc0a75c8..7fe44f7f 100644 --- a/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiSignals.java +++ b/src/java/qtjambi-modules/qtjambi/main/io/qt/internal/QtJambiSignals.java @@ -2387,18 +2387,26 @@ private static Match matches(boolean isNativeConnect, SignalParameterType sentTy || sentType.genericType instanceof Class || sentType.genericType==receivedType.genericType) { return (sentType.isReference==receivedType.isReference) && (sentType.isPointer==receivedType.isPointer) ? Match.NativeMatch : Match.JavaMatch; - }else if(sentType.genericType instanceof ParameterizedType && receivedType.genericType instanceof ParameterizedType) { + }else if(sentType.genericType instanceof ParameterizedType) { ParameterizedType sentParamType = (ParameterizedType)sentType.genericType; - ParameterizedType receivedParamType = (ParameterizedType)receivedType.genericType; - Type[] sentArgs = sentParamType.getActualTypeArguments(); - Type[] receivedArgs = receivedParamType.getActualTypeArguments(); - if(sentArgs.length!=receivedArgs.length) - return Match.NoMatch; - for (int i = 0; i < receivedArgs.length; i++) { - if(!matches(isNativeConnect, sentArgs[i], receivedArgs[i])) - return Match.NoMatch; - } - return (sentType.isReference==receivedType.isReference) && (sentType.isPointer==receivedType.isPointer) ? Match.NativeMatch : Match.JavaMatch; + if(receivedType.genericType instanceof ParameterizedType) { + ParameterizedType receivedParamType = (ParameterizedType)receivedType.genericType; + Type[] sentArgs = sentParamType.getActualTypeArguments(); + Type[] receivedArgs = receivedParamType.getActualTypeArguments(); + if(sentArgs.length!=receivedArgs.length) + return Match.NoMatch; + for (int i = 0; i < receivedArgs.length; i++) { + if(!matches(isNativeConnect, sentArgs[i], receivedArgs[i])) + return Match.NoMatch; + } + return (sentType.isReference==receivedType.isReference) && (sentType.isPointer==receivedType.isPointer) ? Match.NativeMatch : Match.JavaMatch; + }else if(receivedType.genericType instanceof Class){ + if(sentParamType.getRawType()==receivedType.genericType || ((Class)receivedType.genericType).isAssignableFrom((Class)sentParamType.getRawType())) { + return Match.JavaMatch; + } + }else if(receivedType.genericType instanceof TypeVariable) { + return Match.JavaMatch; + } }else if(sentType.genericType instanceof TypeVariable) { // TypeVariable sentVarType = (TypeVariable)sentType.genericType; // if(receivedType.genericType instanceof TypeVariable) { diff --git a/src/java/qtjambi-plugins/plugins.xml b/src/java/qtjambi-plugins/plugins.xml index 163c59e3..6bb298b5 100644 --- a/src/java/qtjambi-plugins/plugins.xml +++ b/src/java/qtjambi-plugins/plugins.xml @@ -3,7 +3,7 @@ - + @@ -27,14 +27,14 @@ - + - + @@ -62,7 +62,7 @@ - + @@ -92,20 +92,25 @@ + + + + + @@ -211,61 +216,6 @@ - - - - - - - - - - - - - - - - @@ -274,9 +224,52 @@ - - - + + + + + + + + + + + + + + + + + + create empty ${deploymentdir}/${moduledash}-native-android-common-${qtjambi.jar.version}-javadoc.jar + + + + + + + + + + + + + + + + + + + + + + + + @@ -313,7 +306,10 @@ jar-includes=${jar-includes} - + + + + @@ -420,7 +416,7 @@ - + @@ -445,21 +441,14 @@ - - - - - - - - - - - - - - - + + + + + + + + diff --git a/src/java/qtjambi-qml/qml.xml b/src/java/qtjambi-qml/qml.xml index 720c4377..36d41b99 100644 --- a/src/java/qtjambi-qml/qml.xml +++ b/src/java/qtjambi-qml/qml.xml @@ -149,10 +149,14 @@ + + + + @@ -162,6 +166,8 @@ + + @@ -172,16 +178,19 @@ + + - + + @@ -192,10 +201,10 @@ - + - + @@ -252,7 +261,7 @@ - + @@ -261,5 +270,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jar-includes=${qmltargetdir}/${subdir}/${jar-includes} + + + + + + + + + + + + + diff --git a/www/Android.md b/www/Android.md index 30c38120..6ef529ed 100644 --- a/www/Android.md +++ b/www/Android.md @@ -68,8 +68,8 @@ Therefore, open the file `app/build.gradle`. Add the following lines to the `dependencies` section (for ABI arm64-v8a): ```gradle - implementation 'io.qtjambi:qtjambi:6.3.3' - implementation 'io.qtjambi:qtjambi-native-android-arm64:6.3.3' + implementation 'io.qtjambi:qtjambi:6.3.4' + implementation 'io.qtjambi:qtjambi-native-android-arm64:6.3.4' implementation files('qt-lib-core-native-android-arm64-6.3.1.jar', 'qt-lib-core-native-android-common-6.3.1.jar', 'qt-lib-gui-native-android-arm64-6.3.1.jar', diff --git a/www/Characteristics-of-QtJambi.md b/www/Characteristics-of-QtJambi.md index 8cc82d6d..bfe0bc85 100644 --- a/www/Characteristics-of-QtJambi.md +++ b/www/Characteristics-of-QtJambi.md @@ -947,7 +947,7 @@ device.close(); ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-uic-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-uic-6.3.4.jar -m qtjambi.uic --output=src --package=com.myapplication.widgets com/myapplication/widgets/mainwindow.ui ``` @@ -955,7 +955,7 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.3.3.jar:qtjambi-uic-6.3.3.jar + -cp qtjambi-6.3.4.jar:qtjambi-uic-6.3.4.jar io.qt.uic.Main --output=src --package=com.myapplication.widgets com/myapplication/widgets/mainwindow.ui ``` @@ -1199,7 +1199,7 @@ and *QtJambi* libraries: ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer plugin --class-name=my.company.CustomImageIOPlugin --class-path=my-company-library.jar @@ -1211,7 +1211,7 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -cp qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar io.qt.qtjambi.deployer.Main plugin --class-name=my.company.CustomImageIOPlugin --class-path=my-company-library.jar @@ -1238,7 +1238,7 @@ This is especially necessary on macOS (arm64). ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer plugin --class-name=my.company.CustomImageIOPlugin --class-path=my-company-library.jar diff --git a/www/How-to-bundle-Qt-libraries.md b/www/How-to-bundle-Qt-libraries.md index 6c05200b..dcd4cd36 100644 --- a/www/How-to-bundle-Qt-libraries.md +++ b/www/How-to-bundle-Qt-libraries.md @@ -10,7 +10,7 @@ on *Linux* and *macOS*. ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer qt ``` @@ -18,7 +18,7 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -cp qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar io.qt.qtjambi.deployer.Main qt ``` diff --git a/www/How-to-deploy-QtJambi-applications.md b/www/How-to-deploy-QtJambi-applications.md index 6ca49481..9912cc7a 100644 --- a/www/How-to-deploy-QtJambi-applications.md +++ b/www/How-to-deploy-QtJambi-applications.md @@ -7,7 +7,7 @@ along with platform-dependent **qtjambi-deployer-native-X.jar** for all platform In the examples below, we assume you created an application in a jar file `my-company-app.jar` with main class `my.company.app.Main` -depending on `qtjambi-6.3.3.jar`. +depending on `qtjambi-6.3.4.jar`. Call the app deployer as shown below. Make sure the library path points to the *Qt* libraries being `bin` on *Windows* and `lib` @@ -15,7 +15,7 @@ on *Linux* and *macOS*. ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer app ``` @@ -23,7 +23,7 @@ Alternative way to call it: ``` shell java -Djava.library.path= - -cp qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -cp qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar io.qt.qtjambi.deployer.Main app ``` @@ -70,8 +70,8 @@ installation directory | plugins | ... (platforms, styles and others) | lib - | qtjambi-6.3.3.jar - | qtjambi-native-windows-x64-6.3.3.jar + | qtjambi-6.3.4.jar + | qtjambi-native-windows-x64-6.3.4.jar | my-company-app.jar | jre | ... (Java Runtime Environment) @@ -82,11 +82,11 @@ append the following commands to the above listed *QtJambi deployer* command: ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer app --application=MyCompanyApp --executable=utilities/QtJambiLauncher.exe - --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.3.3.jar:../lib/qtjambi-native-windows-x64-6.3.3.jar + --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.3.4.jar:../lib/qtjambi-native-windows-x64-6.3.4.jar --library-path=. --jvm-path=../jre --main-class=my.company.app.Main @@ -111,8 +111,8 @@ installation directory | libQt6Core.so[.6.3.0] | libQt6Gui.so[.6.3.0] | libQt6Widgets.so[.6.3.0] - | qtjambi-6.3.3.jar - | qtjambi-native-linux-x64-6.3.3.jar + | qtjambi-6.3.4.jar + | qtjambi-native-linux-x64-6.3.4.jar | my-company-app.jar | jre | ... (Java Runtime Environment) @@ -123,11 +123,11 @@ the following commands to the above listed *QtJambi deployer* command: ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer app --application=MyCompanyApp --executable=utilities/QtJambiLauncher - --class-path=lib/my-company-app.jar:lib/qtjambi-6.3.3.jar:lib/qtjambi-native-linux-x64-6.3.3.jar + --class-path=lib/my-company-app.jar:lib/qtjambi-6.3.4.jar:lib/qtjambi-native-linux-x64-6.3.4.jar --library-path=lib --jvm-path=jre --main-class=my.company.app.Main @@ -155,8 +155,8 @@ installation directory | QtGui.framework | QtWidgets.framework | lib - | qtjambi-6.3.3.jar - | qtjambi-native-macos-6.3.3.jar + | qtjambi-6.3.4.jar + | qtjambi-native-macos-6.3.4.jar | my-company-app.jar | jre | ... (Java Runtime Environment) @@ -170,11 +170,11 @@ append the following commands to the above listed *QtJambi deployer* command: ``` shell java -Djava.library.path= - -p qtjambi-6.3.3.jar:qtjambi-deployer-6.3.3.jar + -p qtjambi-6.3.4.jar:qtjambi-deployer-6.3.4.jar -m qtjambi.deployer app --application=MyCompanyApp --executable=utilities/QtJambiLauncher.app - --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.3.3.jar:../lib/qtjambi-native-macos-6.3.3.jar + --class-path=../lib/my-company-app.jar:../lib/qtjambi-6.3.4.jar:../lib/qtjambi-native-macos-6.3.4.jar --library-path=../Frameworks --jvm-path=../jre --main-class=my.company.app.Main diff --git a/www/How-to-develop-Qt-in-Java.md b/www/How-to-develop-Qt-in-Java.md index 6c0dab7f..4909a63a 100644 --- a/www/How-to-develop-Qt-in-Java.md +++ b/www/How-to-develop-Qt-in-Java.md @@ -13,7 +13,7 @@ to your project: $VERSION ``` -(exchange `$VERSION` either by `5.15.8`, `6.2.6` or by `6.3.3`). +(exchange `$VERSION` either by `5.15.9`, `6.2.7` or by `6.3.4`). Otherwise, download QtJambi JAR file from [Maven Central Repository](https://search.maven.org/artifact/io.qtjambi/qtjambi/). Find the [list of all available QtJambi modules](www/Modules.md). @@ -34,7 +34,7 @@ public class Test { Compile the file: ``` powershell -javac -cp qtjambi-6.3.3.jar Test.java +javac -cp qtjambi-6.3.4.jar Test.java ``` For execution you need the platform dependent binaries of *QtJambi*. For @@ -52,13 +52,13 @@ macOS) or the Java runtime property **java.library.path**. The example program can be executed this way: ``` powershell -java -cp qtjambi-6.3.3.jar;qtjambi-native-windows-x64-6.3.3.jar;. -Djava.library.path=C:\Qt\6.2.0\msvc2019_64\bin Test +java -cp qtjambi-6.3.4.jar;qtjambi-native-windows-x64-6.3.4.jar;. -Djava.library.path=C:\Qt\6.2.0\msvc2019_64\bin Test ``` On *macOS* you need to use the start parameter `-XstartOnFirstThread`: ``` bash -java -XstartOnFirstThread -cp qtjambi-6.3.3.jar:qtjambi-native-windows-x64-6.3.3.jar:. -Djava.library.path=C:\Qt\6.2.0\msvc2019_64\bin Test +java -XstartOnFirstThread -cp qtjambi-6.3.4.jar:qtjambi-native-windows-x64-6.3.4.jar:. -Djava.library.path=C:\Qt\6.2.0\msvc2019_64\bin Test ``` In general, you can start learning how to use Qt in Java [as it is @@ -73,11 +73,11 @@ here](How-to-deploy-QtJambi-applications.md). [Read more about developing applications for Android](Android.md). See [QtJambi 5.15 API Reference -Documentation](https://doc.qtjambi.io/5.15.8/), +Documentation](https://doc.qtjambi.io/5.15.9/), [QtJambi 6.2 API Reference -Documentation](https://doc.qtjambi.io/6.2.6/) +Documentation](https://doc.qtjambi.io/6.2.7/) and [QtJambi 6.3 API Reference -Documentation](https://doc.qtjambi.io/6.3.3/) +Documentation](https://doc.qtjambi.io/6.3.4/) ## Useful Java System Properties for QtJambi diff --git a/www/Modules.md b/www/Modules.md index 275117bd..5f24ccc8 100644 --- a/www/Modules.md +++ b/www/Modules.md @@ -11,7 +11,7 @@ QtJambi is available for Qt5 and Qt6. All modules are published as Maven Artifac $VERSION ``` -Here, exchange `$VERSION` either by `5.15.8`, by `6.2.6` or by `6.3.3`. Exchange `$MODULE` by *QtJambi* module name as listed below. +Here, exchange `$VERSION` either by `5.15.9`, by `6.2.7` or by `6.3.4`. Exchange `$MODULE` by *QtJambi* module name as listed below. Alternatively, you can download corresponding QtJambi modules as JAR file from [Maven Central Repository](https://search.maven.org/search?q=io.qtjambi). @@ -20,1549 +20,1549 @@ Native components are avaiable for Windows (x64), Linux (x64), macOS (x64 and ar ## QtJambi for Qt 6.3 -QtJambi 6.3.3 requires Qt 6.3.x whereas x can be any patch version. +QtJambi 6.3.4 requires Qt 6.3.x whereas x can be any patch version. Following Qt 6.3 modules are provided by QtJambi: ### Qt6 Essentials * [QtCore](https://doc.qt.io/qt-6/qtcore-index.html), [QtGui](https://doc.qt.io/qt-6/qtgui-index.html) and [QtWidgets](https://doc.qt.io/qt-6/qtwidgets-index.html) in module **qtjambi**: - * [**qtjambi-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/6.3.3/jar) - * [**qtjambi-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/6.3.3/jar) - * [**qtjambi-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/6.3.3/jar) - * [**qtjambi-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/6.3.3/jar) - * [**qtjambi-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/6.3.3/jar) - * [**qtjambi-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/6.3.3/jar) - * [**qtjambi-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/6.3.3/jar) - * [**qtjambi-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/6.3.3/jar) + * [**qtjambi-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/6.3.4/jar) + * [**qtjambi-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/6.3.4/jar) + * [**qtjambi-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/6.3.4/jar) + * [**qtjambi-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/6.3.4/jar) + * [**qtjambi-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/6.3.4/jar) + * [**qtjambi-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/6.3.4/jar) + * [**qtjambi-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/6.3.4/jar) + * [**qtjambi-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/6.3.4/jar) * [QtDBus](https://doc.qt.io/qt-6/qtdbus-index.html) in module **qtjambi-dbus**: - * [**qtjambi-dbus-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/6.3.3/jar) - * [**qtjambi-dbus-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/6.3.3/jar) - * [**qtjambi-dbus-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/6.3.3/jar) - * [**qtjambi-dbus-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/6.3.3/jar) - * [**qtjambi-dbus-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x86/6.3.3/jar) - * [**qtjambi-dbus-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x64/6.3.3/jar) - * [**qtjambi-dbus-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm/6.3.3/jar) - * [**qtjambi-dbus-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm64/6.3.3/jar) + * [**qtjambi-dbus-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/6.3.4/jar) + * [**qtjambi-dbus-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/6.3.4/jar) + * [**qtjambi-dbus-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/6.3.4/jar) + * [**qtjambi-dbus-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/6.3.4/jar) + * [**qtjambi-dbus-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x86/6.3.4/jar) + * [**qtjambi-dbus-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x64/6.3.4/jar) + * [**qtjambi-dbus-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm/6.3.4/jar) + * [**qtjambi-dbus-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm64/6.3.4/jar) * [QtNetwork](https://doc.qt.io/qt-6/qtnetwork-index.html) in module **qtjambi-network**: - * [**qtjambi-network-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/6.3.3/jar) - * [**qtjambi-network-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/6.3.3/jar) - * [**qtjambi-network-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/6.3.3/jar) - * [**qtjambi-network-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/6.3.3/jar) - * [**qtjambi-network-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/6.3.3/jar) - * [**qtjambi-network-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/6.3.3/jar) - * [**qtjambi-network-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/6.3.3/jar) - * [**qtjambi-network-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/6.3.3/jar) + * [**qtjambi-network-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/6.3.4/jar) + * [**qtjambi-network-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/6.3.4/jar) + * [**qtjambi-network-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/6.3.4/jar) + * [**qtjambi-network-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/6.3.4/jar) + * [**qtjambi-network-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/6.3.4/jar) + * [**qtjambi-network-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/6.3.4/jar) + * [**qtjambi-network-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/6.3.4/jar) + * [**qtjambi-network-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/6.3.4/jar) * [QtQml](https://doc.qt.io/qt-6/qtqml-index.html) in module **qtjambi-qml**: - * [**qtjambi-qml-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/6.3.3/jar) - * [**qtjambi-qml-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/6.3.3/jar) - * [**qtjambi-qml-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/6.3.3/jar) - * [**qtjambi-qml-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/6.3.3/jar) - * [**qtjambi-qml-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/6.3.3/jar) - * [**qtjambi-qml-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/6.3.3/jar) - * [**qtjambi-qml-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/6.3.3/jar) - * [**qtjambi-qml-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/6.3.3/jar) + * [**qtjambi-qml-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/6.3.4/jar) + * [**qtjambi-qml-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/6.3.4/jar) + * [**qtjambi-qml-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/6.3.4/jar) + * [**qtjambi-qml-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/6.3.4/jar) + * [**qtjambi-qml-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/6.3.4/jar) + * [**qtjambi-qml-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/6.3.4/jar) + * [**qtjambi-qml-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/6.3.4/jar) + * [**qtjambi-qml-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/6.3.4/jar) * [QtQuick](https://doc.qt.io/qt-6/qtquick-index.html) in module **qtjambi-quick**: - * [**qtjambi-quick-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/6.3.3/jar) - * [**qtjambi-quick-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/6.3.3/jar) - * [**qtjambi-quick-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/6.3.3/jar) - * [**qtjambi-quick-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/6.3.3/jar) - * [**qtjambi-quick-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/6.3.3/jar) - * [**qtjambi-quick-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/6.3.3/jar) - * [**qtjambi-quick-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/6.3.3/jar) - * [**qtjambi-quick-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/6.3.3/jar) + * [**qtjambi-quick-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/6.3.4/jar) + * [**qtjambi-quick-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/6.3.4/jar) + * [**qtjambi-quick-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/6.3.4/jar) + * [**qtjambi-quick-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/6.3.4/jar) + * [**qtjambi-quick-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/6.3.4/jar) + * [**qtjambi-quick-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/6.3.4/jar) + * [**qtjambi-quick-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/6.3.4/jar) + * [**qtjambi-quick-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/6.3.4/jar) * [QtQuickControls](https://doc.qt.io/qt-6/qtquickcontrols-index.html) in module **qtjambi-quickcontrols**: - * [**qtjambi-quickcontrols-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/6.3.3/jar) - * [**qtjambi-quickcontrols-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/6.3.3/jar) - * [**qtjambi-quickcontrols-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/6.3.3/jar) - * [**qtjambi-quickcontrols-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/6.3.3/jar) - * [**qtjambi-quickcontrols-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/6.3.3/jar) - * [**qtjambi-quickcontrols-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/6.3.3/jar) - * [**qtjambi-quickcontrols-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/6.3.3/jar) - * [**qtjambi-quickcontrols-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/6.3.3/jar) + * [**qtjambi-quickcontrols-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/6.3.4/jar) + * [**qtjambi-quickcontrols-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/6.3.4/jar) + * [**qtjambi-quickcontrols-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/6.3.4/jar) + * [**qtjambi-quickcontrols-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/6.3.4/jar) + * [**qtjambi-quickcontrols-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/6.3.4/jar) + * [**qtjambi-quickcontrols-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/6.3.4/jar) + * [**qtjambi-quickcontrols-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/6.3.4/jar) + * [**qtjambi-quickcontrols-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/6.3.4/jar) * [QtQuickTest](https://doc.qt.io/qt-6/qtquicktest-index.html) in module **qtjambi-quicktest**: - * [**qtjambi-quicktest-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/6.3.3/jar) - * [**qtjambi-quicktest-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/6.3.3/jar) - * [**qtjambi-quicktest-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/6.3.3/jar) - * [**qtjambi-quicktest-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/6.3.3/jar) - * [**qtjambi-quicktest-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/6.3.3/jar) - * [**qtjambi-quicktest-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/6.3.3/jar) - * [**qtjambi-quicktest-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/6.3.3/jar) - * [**qtjambi-quicktest-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/6.3.3/jar) + * [**qtjambi-quicktest-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/6.3.4/jar) + * [**qtjambi-quicktest-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/6.3.4/jar) + * [**qtjambi-quicktest-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/6.3.4/jar) + * [**qtjambi-quicktest-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/6.3.4/jar) + * [**qtjambi-quicktest-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/6.3.4/jar) + * [**qtjambi-quicktest-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/6.3.4/jar) + * [**qtjambi-quicktest-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/6.3.4/jar) + * [**qtjambi-quicktest-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/6.3.4/jar) * [QtTest](https://doc.qt.io/qt-6/qttest-index.html) in module **qtjambi-test**: - * [**qtjambi-test-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/6.3.3/jar) - * [**qtjambi-test-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/6.3.3/jar) - * [**qtjambi-test-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/6.3.3/jar) - * [**qtjambi-test-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/6.3.3/jar) - * [**qtjambi-test-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/6.3.3/jar) - * [**qtjambi-test-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/6.3.3/jar) - * [**qtjambi-test-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/6.3.3/jar) - * [**qtjambi-test-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/6.3.3/jar) + * [**qtjambi-test-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/6.3.4/jar) + * [**qtjambi-test-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/6.3.4/jar) + * [**qtjambi-test-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/6.3.4/jar) + * [**qtjambi-test-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/6.3.4/jar) + * [**qtjambi-test-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/6.3.4/jar) + * [**qtjambi-test-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/6.3.4/jar) + * [**qtjambi-test-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/6.3.4/jar) + * [**qtjambi-test-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/6.3.4/jar) ### Qt6 Add-Ons * [QtBluetooth](https://doc.qt.io/qt-6/qtbluetooth-index.html) in module **qtjambi-bluetooth**: - * [**qtjambi-bluetooth-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/6.3.3/jar) - * [**qtjambi-bluetooth-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/6.3.3/jar) - * [**qtjambi-bluetooth-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/6.3.3/jar) - * [**qtjambi-bluetooth-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/6.3.3/jar) - * [**qtjambi-bluetooth-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/6.3.3/jar) - * [**qtjambi-bluetooth-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/6.3.3/jar) - * [**qtjambi-bluetooth-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/6.3.3/jar) - * [**qtjambi-bluetooth-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/6.3.3/jar) + * [**qtjambi-bluetooth-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/6.3.4/jar) + * [**qtjambi-bluetooth-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/6.3.4/jar) + * [**qtjambi-bluetooth-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/6.3.4/jar) + * [**qtjambi-bluetooth-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/6.3.4/jar) + * [**qtjambi-bluetooth-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/6.3.4/jar) + * [**qtjambi-bluetooth-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/6.3.4/jar) + * [**qtjambi-bluetooth-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/6.3.4/jar) + * [**qtjambi-bluetooth-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/6.3.4/jar) * [QtCharts](https://doc.qt.io/qt-6/qtcharts-index.html) in module **qtjambi-charts**: - * [**qtjambi-charts-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/6.3.3/jar) - * [**qtjambi-charts-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/6.3.3/jar) - * [**qtjambi-charts-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/6.3.3/jar) - * [**qtjambi-charts-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/6.3.3/jar) - * [**qtjambi-charts-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/6.3.3/jar) - * [**qtjambi-charts-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/6.3.3/jar) - * [**qtjambi-charts-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/6.3.3/jar) - * [**qtjambi-charts-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/6.3.3/jar) + * [**qtjambi-charts-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/6.3.4/jar) + * [**qtjambi-charts-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/6.3.4/jar) + * [**qtjambi-charts-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/6.3.4/jar) + * [**qtjambi-charts-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/6.3.4/jar) + * [**qtjambi-charts-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/6.3.4/jar) + * [**qtjambi-charts-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/6.3.4/jar) + * [**qtjambi-charts-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/6.3.4/jar) + * [**qtjambi-charts-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/6.3.4/jar) * [QtDataVisualization](https://doc.qt.io/qt-6/qtdatavisualization-index.html) in module **qtjambi-datavisualization**: - * [**qtjambi-datavisualization-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/6.3.3/jar) - * [**qtjambi-datavisualization-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/6.3.3/jar) - * [**qtjambi-datavisualization-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/6.3.3/jar) - * [**qtjambi-datavisualization-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/6.3.3/jar) - * [**qtjambi-datavisualization-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/6.3.3/jar) - * [**qtjambi-datavisualization-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/6.3.3/jar) - * [**qtjambi-datavisualization-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/6.3.3/jar) - * [**qtjambi-datavisualization-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/6.3.3/jar) + * [**qtjambi-datavisualization-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/6.3.4/jar) + * [**qtjambi-datavisualization-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/6.3.4/jar) + * [**qtjambi-datavisualization-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/6.3.4/jar) + * [**qtjambi-datavisualization-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/6.3.4/jar) + * [**qtjambi-datavisualization-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/6.3.4/jar) + * [**qtjambi-datavisualization-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/6.3.4/jar) + * [**qtjambi-datavisualization-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/6.3.4/jar) + * [**qtjambi-datavisualization-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/6.3.4/jar) * [QtConcurrent](https://doc.qt.io/qt-6/qtconcurrent-index.html) in module **qtjambi-concurrent**: - * [**qtjambi-concurrent-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/6.3.3/jar) - * [**qtjambi-concurrent-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/6.3.3/jar) - * [**qtjambi-concurrent-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/6.3.3/jar) - * [**qtjambi-concurrent-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/6.3.3/jar) - * [**qtjambi-concurrent-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/6.3.3/jar) - * [**qtjambi-concurrent-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/6.3.3/jar) - * [**qtjambi-concurrent-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/6.3.3/jar) - * [**qtjambi-concurrent-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/6.3.3/jar) + * [**qtjambi-concurrent-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/6.3.4/jar) + * [**qtjambi-concurrent-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/6.3.4/jar) + * [**qtjambi-concurrent-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/6.3.4/jar) + * [**qtjambi-concurrent-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/6.3.4/jar) + * [**qtjambi-concurrent-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/6.3.4/jar) + * [**qtjambi-concurrent-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/6.3.4/jar) + * [**qtjambi-concurrent-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/6.3.4/jar) + * [**qtjambi-concurrent-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/6.3.4/jar) * [QtHelp](https://doc.qt.io/qt-6/qthelp-index.html) in module **qtjambi-help**: - * [**qtjambi-help-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/6.3.3/jar) - * [**qtjambi-help-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/6.3.3/jar) - * [**qtjambi-help-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/6.3.3/jar) - * [**qtjambi-help-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/6.3.3/jar) - * [**qtjambi-help-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/6.3.3/jar) - * [**qtjambi-help-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/6.3.3/jar) - * [**qtjambi-help-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/6.3.3/jar) - * [**qtjambi-help-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/6.3.3/jar) + * [**qtjambi-help-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/6.3.4/jar) + * [**qtjambi-help-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/6.3.4/jar) + * [**qtjambi-help-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/6.3.4/jar) + * [**qtjambi-help-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/6.3.4/jar) + * [**qtjambi-help-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/6.3.4/jar) + * [**qtjambi-help-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/6.3.4/jar) + * [**qtjambi-help-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/6.3.4/jar) + * [**qtjambi-help-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/6.3.4/jar) * [QtOpenGL](https://doc.qt.io/qt-6/qtopengl-index.html) in module **qtjambi-opengl**: - * [**qtjambi-opengl-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl/6.3.3/jar) - * [**qtjambi-opengl-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-windows-x64/6.3.3/jar) - * [**qtjambi-opengl-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-linux-x64/6.3.3/jar) - * [**qtjambi-opengl-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-macos/6.3.3/jar) - * [**qtjambi-opengl-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x86/6.3.3/jar) - * [**qtjambi-opengl-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x64/6.3.3/jar) - * [**qtjambi-opengl-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm/6.3.3/jar) - * [**qtjambi-opengl-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm64/6.3.3/jar) + * [**qtjambi-opengl-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl/6.3.4/jar) + * [**qtjambi-opengl-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-windows-x64/6.3.4/jar) + * [**qtjambi-opengl-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-linux-x64/6.3.4/jar) + * [**qtjambi-opengl-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-macos/6.3.4/jar) + * [**qtjambi-opengl-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x86/6.3.4/jar) + * [**qtjambi-opengl-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x64/6.3.4/jar) + * [**qtjambi-opengl-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm/6.3.4/jar) + * [**qtjambi-opengl-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm64/6.3.4/jar) * [QtOpenGLWidgets](https://doc.qt.io/qt-6/qtopenglwidgets-module.html) in module **qtjambi-openglwidgets**: - * [**qtjambi-openglwidgets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets/6.3.3/jar) - * [**qtjambi-openglwidgets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-windows-x64/6.3.3/jar) - * [**qtjambi-openglwidgets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-linux-x64/6.3.3/jar) - * [**qtjambi-openglwidgets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-macos/6.3.3/jar) - * [**qtjambi-openglwidgets-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x86/6.3.3/jar) - * [**qtjambi-openglwidgets-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x64/6.3.3/jar) - * [**qtjambi-openglwidgets-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm/6.3.3/jar) - * [**qtjambi-openglwidgets-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm64/6.3.3/jar) + * [**qtjambi-openglwidgets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets/6.3.4/jar) + * [**qtjambi-openglwidgets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-windows-x64/6.3.4/jar) + * [**qtjambi-openglwidgets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-linux-x64/6.3.4/jar) + * [**qtjambi-openglwidgets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-macos/6.3.4/jar) + * [**qtjambi-openglwidgets-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x86/6.3.4/jar) + * [**qtjambi-openglwidgets-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x64/6.3.4/jar) + * [**qtjambi-openglwidgets-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm/6.3.4/jar) + * [**qtjambi-openglwidgets-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm64/6.3.4/jar) * [QtMultimedia](https://doc.qt.io/qt-6/qtmultimedia-index.html) in module **qtjambi-multimedia**: - * [**qtjambi-multimedia-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/6.3.3/jar) - * [**qtjambi-multimedia-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/6.3.3/jar) - * [**qtjambi-multimedia-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/6.3.3/jar) - * [**qtjambi-multimedia-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/6.3.3/jar) - * [**qtjambi-multimedia-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/6.3.3/jar) - * [**qtjambi-multimedia-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/6.3.3/jar) - * [**qtjambi-multimedia-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/6.3.3/jar) - * [**qtjambi-multimedia-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/6.3.3/jar) + * [**qtjambi-multimedia-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/6.3.4/jar) + * [**qtjambi-multimedia-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/6.3.4/jar) + * [**qtjambi-multimedia-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/6.3.4/jar) + * [**qtjambi-multimedia-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/6.3.4/jar) + * [**qtjambi-multimedia-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/6.3.4/jar) + * [**qtjambi-multimedia-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/6.3.4/jar) + * [**qtjambi-multimedia-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/6.3.4/jar) + * [**qtjambi-multimedia-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/6.3.4/jar) * [QtMultimediaWidgets](https://doc.qt.io/qt-6/qtmultimedia-index.html) in module **qtjambi-multimediawidgets**: - * [**qtjambi-multimediawidgets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/6.3.3/jar) - * [**qtjambi-multimediawidgets-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/6.3.3/jar) + * [**qtjambi-multimediawidgets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/6.3.4/jar) + * [**qtjambi-multimediawidgets-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/6.3.4/jar) * [QtNfc](https://doc.qt.io/qt-6/qtnfc-index.html) in module **qtjambi-nfc**: - * [**qtjambi-nfc-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/6.3.3/jar) - * [**qtjambi-nfc-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/6.3.3/jar) - * [**qtjambi-nfc-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/6.3.3/jar) - * [**qtjambi-nfc-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/6.3.3/jar) - * [**qtjambi-nfc-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/6.3.3/jar) - * [**qtjambi-nfc-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/6.3.3/jar) - * [**qtjambi-nfc-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/6.3.3/jar) - * [**qtjambi-nfc-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/6.3.3/jar) + * [**qtjambi-nfc-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/6.3.4/jar) + * [**qtjambi-nfc-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/6.3.4/jar) + * [**qtjambi-nfc-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/6.3.4/jar) + * [**qtjambi-nfc-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/6.3.4/jar) + * [**qtjambi-nfc-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/6.3.4/jar) + * [**qtjambi-nfc-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/6.3.4/jar) + * [**qtjambi-nfc-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/6.3.4/jar) + * [**qtjambi-nfc-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/6.3.4/jar) * [QtNetworkAuth](https://doc.qt.io/qt-6/qtnetworkauth-index.html) in module **qtjambi-networkauth**: - * [**qtjambi-networkauth-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/6.3.3/jar) - * [**qtjambi-networkauth-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/6.3.3/jar) - * [**qtjambi-networkauth-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/6.3.3/jar) - * [**qtjambi-networkauth-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/6.3.3/jar) - * [**qtjambi-networkauth-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/6.3.3/jar) - * [**qtjambi-networkauth-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/6.3.3/jar) - * [**qtjambi-networkauth-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/6.3.3/jar) - * [**qtjambi-networkauth-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/6.3.3/jar) + * [**qtjambi-networkauth-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/6.3.4/jar) + * [**qtjambi-networkauth-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/6.3.4/jar) + * [**qtjambi-networkauth-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/6.3.4/jar) + * [**qtjambi-networkauth-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/6.3.4/jar) + * [**qtjambi-networkauth-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/6.3.4/jar) + * [**qtjambi-networkauth-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/6.3.4/jar) + * [**qtjambi-networkauth-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/6.3.4/jar) + * [**qtjambi-networkauth-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/6.3.4/jar) * [QtPositioning](https://doc.qt.io/qt-6/qtpositioning-index.html) in module **qtjambi-positioning**: - * [**qtjambi-positioning-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/6.3.3/jar) - * [**qtjambi-positioning-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/6.3.3/jar) - * [**qtjambi-positioning-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/6.3.3/jar) - * [**qtjambi-positioning-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/6.3.3/jar) - * [**qtjambi-positioning-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/6.3.3/jar) - * [**qtjambi-positioning-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/6.3.3/jar) - * [**qtjambi-positioning-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/6.3.3/jar) - * [**qtjambi-positioning-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/6.3.3/jar) + * [**qtjambi-positioning-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/6.3.4/jar) + * [**qtjambi-positioning-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/6.3.4/jar) + * [**qtjambi-positioning-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/6.3.4/jar) + * [**qtjambi-positioning-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/6.3.4/jar) + * [**qtjambi-positioning-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/6.3.4/jar) + * [**qtjambi-positioning-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/6.3.4/jar) + * [**qtjambi-positioning-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/6.3.4/jar) + * [**qtjambi-positioning-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/6.3.4/jar) * [QtPrintSupport](https://doc.qt.io/qt-6/qtprintsupport-index.html) in module **qtjambi-printsupport**: - * [**qtjambi-printsupport-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/6.3.3/jar) - * [**qtjambi-printsupport-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/6.3.3/jar) - * [**qtjambi-printsupport-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/6.3.3/jar) - * [**qtjambi-printsupport-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/6.3.3/jar) - * [**qtjambi-printsupport-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/6.3.3/jar) - * [**qtjambi-printsupport-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/6.3.3/jar) - * [**qtjambi-printsupport-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/6.3.3/jar) - * [**qtjambi-printsupport-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/6.3.3/jar) + * [**qtjambi-printsupport-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/6.3.4/jar) + * [**qtjambi-printsupport-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/6.3.4/jar) + * [**qtjambi-printsupport-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/6.3.4/jar) + * [**qtjambi-printsupport-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/6.3.4/jar) + * [**qtjambi-printsupport-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/6.3.4/jar) + * [**qtjambi-printsupport-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/6.3.4/jar) + * [**qtjambi-printsupport-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/6.3.4/jar) + * [**qtjambi-printsupport-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/6.3.4/jar) * [QtQuick3D](https://doc.qt.io/qt-6/qtquick3d-index.html) in module **qtjambi-quick3d**: - * [**qtjambi-quick3d-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/6.3.3/jar) - * [**qtjambi-quick3d-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/6.3.3/jar) - * [**qtjambi-quick3d-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/6.3.3/jar) - * [**qtjambi-quick3d-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/6.3.3/jar) - * [**qtjambi-quick3d-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/6.3.3/jar) - * [**qtjambi-quick3d-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/6.3.3/jar) - * [**qtjambi-quick3d-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/6.3.3/jar) - * [**qtjambi-quick3d-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/6.3.3/jar) + * [**qtjambi-quick3d-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/6.3.4/jar) + * [**qtjambi-quick3d-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/6.3.4/jar) + * [**qtjambi-quick3d-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/6.3.4/jar) + * [**qtjambi-quick3d-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/6.3.4/jar) + * [**qtjambi-quick3d-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/6.3.4/jar) + * [**qtjambi-quick3d-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/6.3.4/jar) + * [**qtjambi-quick3d-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/6.3.4/jar) + * [**qtjambi-quick3d-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/6.3.4/jar) * [QtQuickWidgets](https://doc.qt.io/qt-6/qtquickwidgets-module.html) in module **qtjambi-quickwidgets**: - * [**qtjambi-quickwidgets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/6.3.3/jar) - * [**qtjambi-quickwidgets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/6.3.3/jar) - * [**qtjambi-quickwidgets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/6.3.3/jar) - * [**qtjambi-quickwidgets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/6.3.3/jar) - * [**qtjambi-quickwidgets-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/6.3.3/jar) - * [**qtjambi-quickwidgets-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/6.3.3/jar) - * [**qtjambi-quickwidgets-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/6.3.3/jar) - * [**qtjambi-quickwidgets-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/6.3.3/jar) + * [**qtjambi-quickwidgets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/6.3.4/jar) + * [**qtjambi-quickwidgets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/6.3.4/jar) + * [**qtjambi-quickwidgets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/6.3.4/jar) + * [**qtjambi-quickwidgets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/6.3.4/jar) + * [**qtjambi-quickwidgets-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/6.3.4/jar) + * [**qtjambi-quickwidgets-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/6.3.4/jar) + * [**qtjambi-quickwidgets-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/6.3.4/jar) + * [**qtjambi-quickwidgets-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/6.3.4/jar) * [QtRemoteObjects](https://doc.qt.io/qt-6/qtremoteobjects-module.html) in module **qtjambi-remoteobjects**: - * [**qtjambi-remoteobjects-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/6.3.3/jar) - * [**qtjambi-remoteobjects-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/6.3.3/jar) - * [**qtjambi-remoteobjects-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/6.3.3/jar) - * [**qtjambi-remoteobjects-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/6.3.3/jar) - * [**qtjambi-remoteobjects-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/6.3.3/jar) - * [**qtjambi-remoteobjects-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/6.3.3/jar) - * [**qtjambi-remoteobjects-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/6.3.3/jar) - * [**qtjambi-remoteobjects-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/6.3.3/jar) + * [**qtjambi-remoteobjects-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/6.3.4/jar) + * [**qtjambi-remoteobjects-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/6.3.4/jar) + * [**qtjambi-remoteobjects-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/6.3.4/jar) + * [**qtjambi-remoteobjects-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/6.3.4/jar) + * [**qtjambi-remoteobjects-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/6.3.4/jar) + * [**qtjambi-remoteobjects-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/6.3.4/jar) + * [**qtjambi-remoteobjects-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/6.3.4/jar) + * [**qtjambi-remoteobjects-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/6.3.4/jar) * [QtSCXML](https://doc.qt.io/qt-6/qtscxml-index.html) in module **qtjambi-scxml**: - * [**qtjambi-scxml-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/6.3.3/jar) - * [**qtjambi-scxml-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/6.3.3/jar) - * [**qtjambi-scxml-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/6.3.3/jar) - * [**qtjambi-scxml-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/6.3.3/jar) - * [**qtjambi-scxml-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/6.3.3/jar) - * [**qtjambi-scxml-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/6.3.3/jar) - * [**qtjambi-scxml-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/6.3.3/jar) - * [**qtjambi-scxml-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/6.3.3/jar) + * [**qtjambi-scxml-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/6.3.4/jar) + * [**qtjambi-scxml-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/6.3.4/jar) + * [**qtjambi-scxml-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/6.3.4/jar) + * [**qtjambi-scxml-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/6.3.4/jar) + * [**qtjambi-scxml-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/6.3.4/jar) + * [**qtjambi-scxml-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/6.3.4/jar) + * [**qtjambi-scxml-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/6.3.4/jar) + * [**qtjambi-scxml-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/6.3.4/jar) * [QtSensors](https://doc.qt.io/qt-6/qtsensors-index.html) in module **qtjambi-sensors**: - * [**qtjambi-sensors-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/6.3.3/jar) - * [**qtjambi-sensors-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/6.3.3/jar) - * [**qtjambi-sensors-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/6.3.3/jar) - * [**qtjambi-sensors-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/6.3.3/jar) - * [**qtjambi-sensors-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/6.3.3/jar) - * [**qtjambi-sensors-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/6.3.3/jar) - * [**qtjambi-sensors-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/6.3.3/jar) - * [**qtjambi-sensors-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/6.3.3/jar) + * [**qtjambi-sensors-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/6.3.4/jar) + * [**qtjambi-sensors-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/6.3.4/jar) + * [**qtjambi-sensors-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/6.3.4/jar) + * [**qtjambi-sensors-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/6.3.4/jar) + * [**qtjambi-sensors-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/6.3.4/jar) + * [**qtjambi-sensors-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/6.3.4/jar) + * [**qtjambi-sensors-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/6.3.4/jar) + * [**qtjambi-sensors-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/6.3.4/jar) * [QtSerialBus](https://doc.qt.io/qt-6/qtserialbus-index.html) in module **qtjambi-serialbus**: - * [**qtjambi-serialbus-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/6.3.3/jar) - * [**qtjambi-serialbus-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/6.3.3/jar) - * [**qtjambi-serialbus-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/6.3.3/jar) - * [**qtjambi-serialbus-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/6.3.3/jar) - * [**qtjambi-serialbus-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/6.3.3/jar) - * [**qtjambi-serialbus-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/6.3.3/jar) - * [**qtjambi-serialbus-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/6.3.3/jar) - * [**qtjambi-serialbus-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/6.3.3/jar) + * [**qtjambi-serialbus-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/6.3.4/jar) + * [**qtjambi-serialbus-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/6.3.4/jar) + * [**qtjambi-serialbus-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/6.3.4/jar) + * [**qtjambi-serialbus-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/6.3.4/jar) + * [**qtjambi-serialbus-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/6.3.4/jar) + * [**qtjambi-serialbus-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/6.3.4/jar) + * [**qtjambi-serialbus-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/6.3.4/jar) + * [**qtjambi-serialbus-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/6.3.4/jar) * [QtSerialPort](https://doc.qt.io/qt-6/qtserialport-index.html) in module **qtjambi-serialport**: - * [**qtjambi-serialport-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/6.3.3/jar) - * [**qtjambi-serialport-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/6.3.3/jar) - * [**qtjambi-serialport-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/6.3.3/jar) - * [**qtjambi-serialport-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/6.3.3/jar) - * [**qtjambi-serialport-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/6.3.3/jar) - * [**qtjambi-serialport-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/6.3.3/jar) - * [**qtjambi-serialport-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/6.3.3/jar) - * [**qtjambi-serialport-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/6.3.3/jar) + * [**qtjambi-serialport-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/6.3.4/jar) + * [**qtjambi-serialport-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/6.3.4/jar) + * [**qtjambi-serialport-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/6.3.4/jar) + * [**qtjambi-serialport-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/6.3.4/jar) + * [**qtjambi-serialport-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/6.3.4/jar) + * [**qtjambi-serialport-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/6.3.4/jar) + * [**qtjambi-serialport-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/6.3.4/jar) + * [**qtjambi-serialport-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/6.3.4/jar) * [QtSql](https://doc.qt.io/qt-6/qtsql-index.html) in module **qtjambi-sql**: - * [**qtjambi-sql-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/6.3.3/jar) - * [**qtjambi-sql-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/6.3.3/jar) - * [**qtjambi-sql-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/6.3.3/jar) - * [**qtjambi-sql-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/6.3.3/jar) - * [**qtjambi-sql-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/6.3.3/jar) - * [**qtjambi-sql-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/6.3.3/jar) - * [**qtjambi-sql-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/6.3.3/jar) - * [**qtjambi-sql-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/6.3.3/jar) + * [**qtjambi-sql-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/6.3.4/jar) + * [**qtjambi-sql-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/6.3.4/jar) + * [**qtjambi-sql-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/6.3.4/jar) + * [**qtjambi-sql-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/6.3.4/jar) + * [**qtjambi-sql-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/6.3.4/jar) + * [**qtjambi-sql-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/6.3.4/jar) + * [**qtjambi-sql-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/6.3.4/jar) + * [**qtjambi-sql-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/6.3.4/jar) * [QtSvg](https://doc.qt.io/qt-6/qtsvg-index.html) in module **qtjambi-svg**: - * [**qtjambi-svg-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/6.3.3/jar) - * [**qtjambi-svg-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/6.3.3/jar) - * [**qtjambi-svg-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/6.3.3/jar) - * [**qtjambi-svg-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/6.3.3/jar) - * [**qtjambi-svg-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/6.3.3/jar) - * [**qtjambi-svg-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/6.3.3/jar) - * [**qtjambi-svg-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/6.3.3/jar) - * [**qtjambi-svg-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/6.3.3/jar) + * [**qtjambi-svg-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/6.3.4/jar) + * [**qtjambi-svg-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/6.3.4/jar) + * [**qtjambi-svg-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/6.3.4/jar) + * [**qtjambi-svg-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/6.3.4/jar) + * [**qtjambi-svg-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/6.3.4/jar) + * [**qtjambi-svg-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/6.3.4/jar) + * [**qtjambi-svg-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/6.3.4/jar) + * [**qtjambi-svg-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/6.3.4/jar) * [QtSvgWidgets](https://doc.qt.io/qt-6/qtsvg-index.html) in module **qtjambi-svgwidgets**: - * [**qtjambi-svgwidgets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets/6.3.3/jar) - * [**qtjambi-svgwidgets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-windows-x64/6.3.3/jar) - * [**qtjambi-svgwidgets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-linux-x64/6.3.3/jar) - * [**qtjambi-svgwidgets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-macos/6.3.3/jar) - * [**qtjambi-svgwidgets-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x86/6.3.3/jar) - * [**qtjambi-svgwidgets-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x64/6.3.3/jar) - * [**qtjambi-svgwidgets-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm/6.3.3/jar) - * [**qtjambi-svgwidgets-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm64/6.3.3/jar) + * [**qtjambi-svgwidgets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets/6.3.4/jar) + * [**qtjambi-svgwidgets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-windows-x64/6.3.4/jar) + * [**qtjambi-svgwidgets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-linux-x64/6.3.4/jar) + * [**qtjambi-svgwidgets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-macos/6.3.4/jar) + * [**qtjambi-svgwidgets-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x86/6.3.4/jar) + * [**qtjambi-svgwidgets-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x64/6.3.4/jar) + * [**qtjambi-svgwidgets-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm/6.3.4/jar) + * [**qtjambi-svgwidgets-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm64/6.3.4/jar) * [QtStateMachine](https://doc.qt.io/qt-6/qtstatemachine-index.html) in module **qtjambi-statemachine**: - * [**qtjambi-statemachine-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine/6.3.3/jar) - * [**qtjambi-statemachine-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-windows-x64/6.3.3/jar) - * [**qtjambi-statemachine-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-linux-x64/6.3.3/jar) - * [**qtjambi-statemachine-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-macos/6.3.3/jar) - * [**qtjambi-statemachine-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x86/6.3.3/jar) - * [**qtjambi-statemachine-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x64/6.3.3/jar) - * [**qtjambi-statemachine-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm/6.3.3/jar) - * [**qtjambi-statemachine-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm64/6.3.3/jar) + * [**qtjambi-statemachine-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine/6.3.4/jar) + * [**qtjambi-statemachine-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-windows-x64/6.3.4/jar) + * [**qtjambi-statemachine-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-linux-x64/6.3.4/jar) + * [**qtjambi-statemachine-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-macos/6.3.4/jar) + * [**qtjambi-statemachine-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x86/6.3.4/jar) + * [**qtjambi-statemachine-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x64/6.3.4/jar) + * [**qtjambi-statemachine-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm/6.3.4/jar) + * [**qtjambi-statemachine-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm64/6.3.4/jar) * [QtUITools](https://doc.qt.io/qt-6/qtuitools-index.html) in module **qtjambi-uitools**: - * [**qtjambi-uitools-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/6.3.3/jar) - * [**qtjambi-uitools-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/6.3.3/jar) - * [**qtjambi-uitools-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/6.3.3/jar) - * [**qtjambi-uitools-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/6.3.3/jar) - * [**qtjambi-uitools-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/6.3.3/jar) - * [**qtjambi-uitools-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/6.3.3/jar) - * [**qtjambi-uitools-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/6.3.3/jar) - * [**qtjambi-uitools-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/6.3.3/jar) + * [**qtjambi-uitools-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/6.3.4/jar) + * [**qtjambi-uitools-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/6.3.4/jar) + * [**qtjambi-uitools-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/6.3.4/jar) + * [**qtjambi-uitools-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/6.3.4/jar) + * [**qtjambi-uitools-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/6.3.4/jar) + * [**qtjambi-uitools-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/6.3.4/jar) + * [**qtjambi-uitools-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/6.3.4/jar) + * [**qtjambi-uitools-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/6.3.4/jar) * [QtWebChannel](https://doc.qt.io/qt-6/qtwebchannel-index.html) in module **qtjambi-webchannel**: - * [**qtjambi-webchannel-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/6.3.3/jar) - * [**qtjambi-webchannel-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/6.3.3/jar) - * [**qtjambi-webchannel-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/6.3.3/jar) - * [**qtjambi-webchannel-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/6.3.3/jar) - * [**qtjambi-webchannel-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/6.3.3/jar) - * [**qtjambi-webchannel-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/6.3.3/jar) - * [**qtjambi-webchannel-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/6.3.3/jar) - * [**qtjambi-webchannel-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/6.3.3/jar) + * [**qtjambi-webchannel-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/6.3.4/jar) + * [**qtjambi-webchannel-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/6.3.4/jar) + * [**qtjambi-webchannel-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/6.3.4/jar) + * [**qtjambi-webchannel-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/6.3.4/jar) + * [**qtjambi-webchannel-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/6.3.4/jar) + * [**qtjambi-webchannel-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/6.3.4/jar) + * [**qtjambi-webchannel-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/6.3.4/jar) + * [**qtjambi-webchannel-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/6.3.4/jar) * [QtWebEngineCore](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginecore**: - * [**qtjambi-webenginecore-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/6.3.3/jar) - * [**qtjambi-webenginecore-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/6.3.3/jar) - * [**qtjambi-webenginecore-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/6.3.3/jar) - * [**qtjambi-webenginecore-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/6.3.3/jar) + * [**qtjambi-webenginecore-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/6.3.4/jar) + * [**qtjambi-webenginecore-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/6.3.4/jar) + * [**qtjambi-webenginecore-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/6.3.4/jar) + * [**qtjambi-webenginecore-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/6.3.4/jar) * [QtWebEngineWidgets](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginewidgets**: - * [**qtjambi-webenginewidgets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/6.3.3/jar) - * [**qtjambi-webenginewidgets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/6.3.3/jar) - * [**qtjambi-webenginewidgets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/6.3.3/jar) - * [**qtjambi-webenginewidgets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/6.3.3/jar) + * [**qtjambi-webenginewidgets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/6.3.4/jar) + * [**qtjambi-webenginewidgets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/6.3.4/jar) + * [**qtjambi-webenginewidgets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/6.3.4/jar) + * [**qtjambi-webenginewidgets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/6.3.4/jar) * [QtWebEngineQuick](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginequick**: - * [**qtjambi-webenginequick-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick/6.3.3/jar) - * [**qtjambi-webenginequick-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-windows-x64/6.3.3/jar) - * [**qtjambi-webenginequick-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-linux-x64/6.3.3/jar) - * [**qtjambi-webenginequick-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-macos/6.3.3/jar) + * [**qtjambi-webenginequick-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick/6.3.4/jar) + * [**qtjambi-webenginequick-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-windows-x64/6.3.4/jar) + * [**qtjambi-webenginequick-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-linux-x64/6.3.4/jar) + * [**qtjambi-webenginequick-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-macos/6.3.4/jar) * [QtWebSockets](https://doc.qt.io/qt-6/qtwebsockets-index.html) in module **qtjambi-websockets**: - * [**qtjambi-websockets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/6.3.3/jar) - * [**qtjambi-websockets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/6.3.3/jar) - * [**qtjambi-websockets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/6.3.3/jar) - * [**qtjambi-websockets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/6.3.3/jar) - * [**qtjambi-websockets-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/6.3.3/jar) - * [**qtjambi-websockets-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/6.3.3/jar) - * [**qtjambi-websockets-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/6.3.3/jar) - * [**qtjambi-websockets-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/6.3.3/jar) + * [**qtjambi-websockets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/6.3.4/jar) + * [**qtjambi-websockets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/6.3.4/jar) + * [**qtjambi-websockets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/6.3.4/jar) + * [**qtjambi-websockets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/6.3.4/jar) + * [**qtjambi-websockets-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/6.3.4/jar) + * [**qtjambi-websockets-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/6.3.4/jar) + * [**qtjambi-websockets-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/6.3.4/jar) + * [**qtjambi-websockets-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/6.3.4/jar) * [QtWebView](https://doc.qt.io/qt-6/qtwebview-index.html) in module **qtjambi-webview**: - * [**qtjambi-webview-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/6.3.3/jar) - * [**qtjambi-webview-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/6.3.3/jar) - * [**qtjambi-webview-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/6.3.3/jar) - * [**qtjambi-webview-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/6.3.3/jar) - * [**qtjambi-webview-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/6.3.3/jar) - * [**qtjambi-webview-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/6.3.3/jar) - * [**qtjambi-webview-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/6.3.3/jar) - * [**qtjambi-webview-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/6.3.3/jar) + * [**qtjambi-webview-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/6.3.4/jar) + * [**qtjambi-webview-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/6.3.4/jar) + * [**qtjambi-webview-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/6.3.4/jar) + * [**qtjambi-webview-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/6.3.4/jar) + * [**qtjambi-webview-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/6.3.4/jar) + * [**qtjambi-webview-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/6.3.4/jar) + * [**qtjambi-webview-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/6.3.4/jar) + * [**qtjambi-webview-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/6.3.4/jar) * [QtVirtualKeyboard](https://doc.qt.io/qt-6/qtvirtualkeyboard-index.html) in module **qtjambi-virtualkeyboard**: - * [**qtjambi-virtualkeyboard-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/6.3.3/jar) - * [**qtjambi-virtualkeyboard-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/6.3.3/jar) + * [**qtjambi-virtualkeyboard-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/6.3.4/jar) + * [**qtjambi-virtualkeyboard-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/6.3.4/jar) * [QtXml](https://doc.qt.io/qt-6/qtxml-index.html) in module **qtjambi-xml**: - * [**qtjambi-xml-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/6.3.3/jar) - * [**qtjambi-xml-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/6.3.3/jar) - * [**qtjambi-xml-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/6.3.3/jar) - * [**qtjambi-xml-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/6.3.3/jar) - * [**qtjambi-xml-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/6.3.3/jar) - * [**qtjambi-xml-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/6.3.3/jar) - * [**qtjambi-xml-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/6.3.3/jar) - * [**qtjambi-xml-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/6.3.3/jar) + * [**qtjambi-xml-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/6.3.4/jar) + * [**qtjambi-xml-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/6.3.4/jar) + * [**qtjambi-xml-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/6.3.4/jar) + * [**qtjambi-xml-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/6.3.4/jar) + * [**qtjambi-xml-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/6.3.4/jar) + * [**qtjambi-xml-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/6.3.4/jar) + * [**qtjambi-xml-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/6.3.4/jar) + * [**qtjambi-xml-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/6.3.4/jar) * [QtDesigner](https://doc.qt.io/qt-6/qtdesigner-manual.html) in module **qtjambi-designer**: - * [**qtjambi-designer-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/6.3.3/jar) - * [**qtjambi-designer-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/6.3.3/jar) - * [**qtjambi-designer-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/6.3.3/jar) - * [**qtjambi-designer-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/6.3.3/jar) - * [**qtjambi-designer-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/6.3.3/jar) - * [**qtjambi-designer-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/6.3.3/jar) - * [**qtjambi-designer-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/6.3.3/jar) - * [**qtjambi-designer-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/6.3.3/jar) + * [**qtjambi-designer-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/6.3.4/jar) + * [**qtjambi-designer-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/6.3.4/jar) + * [**qtjambi-designer-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/6.3.4/jar) + * [**qtjambi-designer-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/6.3.4/jar) + * [**qtjambi-designer-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/6.3.4/jar) + * [**qtjambi-designer-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/6.3.4/jar) + * [**qtjambi-designer-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/6.3.4/jar) + * [**qtjambi-designer-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/6.3.4/jar) * [QtPDF](https://doc.qt.io/qt-6/qtpdf-index.html) in modules **qtjambi-pdf** and **qtjambi-pdfwidgets**: - * [**qtjambi-pdf-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf/6.3.3/jar) - * [**qtjambi-pdf-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-windows-x64/6.3.3/jar) - * [**qtjambi-pdf-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-linux-x64/6.3.3/jar) - * [**qtjambi-pdf-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-macos/6.3.3/jar) - * [**qtjambi-pdfwidgets-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets/6.3.3/jar) - * [**qtjambi-pdfwidgets-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-windows-x64/6.3.3/jar) - * [**qtjambi-pdfwidgets-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-linux-x64/6.3.3/jar) - * [**qtjambi-pdfwidgets-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-macos/6.3.3/jar) + * [**qtjambi-pdf-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf/6.3.4/jar) + * [**qtjambi-pdf-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-windows-x64/6.3.4/jar) + * [**qtjambi-pdf-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-linux-x64/6.3.4/jar) + * [**qtjambi-pdf-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdf-native-macos/6.3.4/jar) + * [**qtjambi-pdfwidgets-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets/6.3.4/jar) + * [**qtjambi-pdfwidgets-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-windows-x64/6.3.4/jar) + * [**qtjambi-pdfwidgets-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-linux-x64/6.3.4/jar) + * [**qtjambi-pdfwidgets-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-pdfwidgets-native-macos/6.3.4/jar) ### Qt6 Platform-dependent Add-Ons * [Active Qt (Windows only)](https://doc.qt.io/qt-6/activeqt-manual.html) in module **qtjambi-activex**: - * [**qtjambi-activex-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/6.3.3/jar) - * [**qtjambi-activex-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/6.3.3/jar) + * [**qtjambi-activex-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/6.3.4/jar) + * [**qtjambi-activex-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/6.3.4/jar) ### Qt3D * [Qt3DCore](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dcore**: - * [**qtjambi-qt3dcore-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/6.3.3/jar) - * [**qtjambi-qt3dcore-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dcore-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dcore-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/6.3.3/jar) - * [**qtjambi-qt3dcore-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dcore-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dcore-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dcore-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dcore-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/6.3.4/jar) + * [**qtjambi-qt3dcore-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dcore-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dcore-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/6.3.4/jar) + * [**qtjambi-qt3dcore-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dcore-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dcore-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dcore-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/6.3.4/jar) * [Qt3DRender](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3drender**: - * [**qtjambi-qt3drender-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/6.3.3/jar) - * [**qtjambi-qt3drender-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3drender-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3drender-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/6.3.3/jar) - * [**qtjambi-qt3drender-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3drender-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3drender-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3drender-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3drender-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/6.3.4/jar) + * [**qtjambi-qt3drender-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3drender-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3drender-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/6.3.4/jar) + * [**qtjambi-qt3drender-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3drender-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3drender-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3drender-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/6.3.4/jar) * [Qt3DAnimation](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3danimation**: - * [**qtjambi-qt3danimation-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/6.3.3/jar) - * [**qtjambi-qt3danimation-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3danimation-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3danimation-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/6.3.3/jar) - * [**qtjambi-qt3danimation-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3danimation-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3danimation-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3danimation-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3danimation-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/6.3.4/jar) + * [**qtjambi-qt3danimation-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3danimation-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3danimation-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/6.3.4/jar) + * [**qtjambi-qt3danimation-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3danimation-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3danimation-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3danimation-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/6.3.4/jar) * [Qt3DExtras](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dextras**: - * [**qtjambi-qt3dextras-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/6.3.3/jar) - * [**qtjambi-qt3dextras-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dextras-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dextras-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/6.3.3/jar) - * [**qtjambi-qt3dextras-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dextras-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dextras-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dextras-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dextras-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/6.3.4/jar) + * [**qtjambi-qt3dextras-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dextras-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dextras-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/6.3.4/jar) + * [**qtjambi-qt3dextras-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dextras-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dextras-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dextras-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/6.3.4/jar) * [Qt3DInput](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dinput**: - * [**qtjambi-qt3dinput-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/6.3.3/jar) - * [**qtjambi-qt3dinput-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dinput-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dinput-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/6.3.3/jar) - * [**qtjambi-qt3dinput-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dinput-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dinput-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dinput-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dinput-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/6.3.4/jar) + * [**qtjambi-qt3dinput-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dinput-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dinput-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/6.3.4/jar) + * [**qtjambi-qt3dinput-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dinput-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dinput-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dinput-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/6.3.4/jar) * [Qt3DLogic](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dlogic**: - * [**qtjambi-qt3dlogic-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dlogic-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dlogic-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dlogic-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/6.3.4/jar) * [Qt3DQuick](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquick**: - * [**qtjambi-qt3dquick-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/6.3.3/jar) - * [**qtjambi-qt3dquick-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dquick-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dquick-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/6.3.3/jar) - * [**qtjambi-qt3dquick-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dquick-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dquick-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dquick-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dquick-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/6.3.4/jar) + * [**qtjambi-qt3dquick-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dquick-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dquick-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/6.3.4/jar) + * [**qtjambi-qt3dquick-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dquick-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dquick-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dquick-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/6.3.4/jar) * [Qt3DQuickExtras](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquickextras**: - * [**qtjambi-qt3dquickextras-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dquickextras-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dquickextras-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dquickextras-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/6.3.4/jar) * [Qt3DQuickScene3D](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquickscene2d**: - * [**qtjambi-qt3dquickscene2d-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/6.3.3/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/6.3.3/jar) + * [**qtjambi-qt3dquickscene2d-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/6.3.4/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/6.3.4/jar) ### QtJambi Plugins * JDBC Sql Plugin: - * [**qtjambi-plugin-qsqljdbc-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-common-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/6.3.3/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/6.3.3/jar) + * [**qtjambi-plugin-qsqljdbc-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-common-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/6.3.4/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/6.3.4/jar) ### QtJambi Tools * [QtJambi User Interface Compiler (UIC)](https://doc.qt.io/qt-6/designer-using-a-ui-file.html#compile-time-form-processing): - * [**qtjambi-uic-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/6.3.3/jar) - * [**qtjambi-uic-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/6.3.3/jar) - * [**qtjambi-uic-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/6.3.3/jar) - * [**qtjambi-uic-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/6.3.3/jar) - * [**qtjambi-uic-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x86/6.3.3/jar) - * [**qtjambi-uic-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x64/6.3.3/jar) - * [**qtjambi-uic-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm/6.3.3/jar) - * [**qtjambi-uic-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm64/6.3.3/jar) + * [**qtjambi-uic-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/6.3.4/jar) + * [**qtjambi-uic-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/6.3.4/jar) + * [**qtjambi-uic-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/6.3.4/jar) + * [**qtjambi-uic-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/6.3.4/jar) + * [**qtjambi-uic-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x86/6.3.4/jar) + * [**qtjambi-uic-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x64/6.3.4/jar) + * [**qtjambi-uic-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm/6.3.4/jar) + * [**qtjambi-uic-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm64/6.3.4/jar) * QtJambi Deployer: - * [**qtjambi-deployer-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/6.3.3/jar) - * [**qtjambi-deployer-native-windows-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/6.3.3/jar) - * [**qtjambi-deployer-native-linux-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/6.3.3/jar) - * [**qtjambi-deployer-native-macos-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/6.3.3/jar) - * [**qtjambi-deployer-native-android-x86-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/6.3.3/jar) - * [**qtjambi-deployer-native-android-x64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/6.3.3/jar) - * [**qtjambi-deployer-native-android-arm-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/6.3.3/jar) - * [**qtjambi-deployer-native-android-arm64-6.3.3.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/6.3.3/jar) + * [**qtjambi-deployer-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/6.3.4/jar) + * [**qtjambi-deployer-native-windows-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/6.3.4/jar) + * [**qtjambi-deployer-native-linux-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/6.3.4/jar) + * [**qtjambi-deployer-native-macos-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/6.3.4/jar) + * [**qtjambi-deployer-native-android-x86-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/6.3.4/jar) + * [**qtjambi-deployer-native-android-x64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/6.3.4/jar) + * [**qtjambi-deployer-native-android-arm-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/6.3.4/jar) + * [**qtjambi-deployer-native-android-arm64-6.3.4.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/6.3.4/jar) ## QtJambi for Qt 6.2 -QtJambi 6.2.6 requires Qt 6.2.x whereas x can be any patch version. +QtJambi 6.2.7 requires Qt 6.2.x whereas x can be any patch version. Following Qt 6.2 modules are provided by QtJambi: ### Qt6 Essentials * [QtCore](https://doc.qt.io/qt-6/qtcore-index.html), [QtGui](https://doc.qt.io/qt-6/qtgui-index.html) and [QtWidgets](https://doc.qt.io/qt-6/qtwidgets-index.html) in module **qtjambi**: - * [**qtjambi-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/6.2.6/jar) - * [**qtjambi-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/6.2.6/jar) - * [**qtjambi-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/6.2.6/jar) - * [**qtjambi-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/6.2.6/jar) - * [**qtjambi-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/6.2.6/jar) - * [**qtjambi-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/6.2.6/jar) - * [**qtjambi-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/6.2.6/jar) - * [**qtjambi-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/6.2.6/jar) + * [**qtjambi-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/6.2.7/jar) + * [**qtjambi-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/6.2.7/jar) + * [**qtjambi-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/6.2.7/jar) + * [**qtjambi-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/6.2.7/jar) + * [**qtjambi-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/6.2.7/jar) + * [**qtjambi-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/6.2.7/jar) + * [**qtjambi-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/6.2.7/jar) + * [**qtjambi-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/6.2.7/jar) * [QtDBus](https://doc.qt.io/qt-6/qtdbus-index.html) in module **qtjambi-dbus**: - * [**qtjambi-dbus-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/6.2.6/jar) - * [**qtjambi-dbus-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/6.2.6/jar) - * [**qtjambi-dbus-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/6.2.6/jar) - * [**qtjambi-dbus-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/6.2.6/jar) - * [**qtjambi-dbus-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x86/6.2.6/jar) - * [**qtjambi-dbus-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x64/6.2.6/jar) - * [**qtjambi-dbus-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm/6.2.6/jar) - * [**qtjambi-dbus-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm64/6.2.6/jar) + * [**qtjambi-dbus-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/6.2.7/jar) + * [**qtjambi-dbus-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/6.2.7/jar) + * [**qtjambi-dbus-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/6.2.7/jar) + * [**qtjambi-dbus-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/6.2.7/jar) + * [**qtjambi-dbus-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x86/6.2.7/jar) + * [**qtjambi-dbus-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x64/6.2.7/jar) + * [**qtjambi-dbus-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm/6.2.7/jar) + * [**qtjambi-dbus-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm64/6.2.7/jar) * [QtNetwork](https://doc.qt.io/qt-6/qtnetwork-index.html) in module **qtjambi-network**: - * [**qtjambi-network-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/6.2.6/jar) - * [**qtjambi-network-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/6.2.6/jar) - * [**qtjambi-network-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/6.2.6/jar) - * [**qtjambi-network-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/6.2.6/jar) - * [**qtjambi-network-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/6.2.6/jar) - * [**qtjambi-network-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/6.2.6/jar) - * [**qtjambi-network-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/6.2.6/jar) - * [**qtjambi-network-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/6.2.6/jar) + * [**qtjambi-network-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/6.2.7/jar) + * [**qtjambi-network-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/6.2.7/jar) + * [**qtjambi-network-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/6.2.7/jar) + * [**qtjambi-network-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/6.2.7/jar) + * [**qtjambi-network-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/6.2.7/jar) + * [**qtjambi-network-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/6.2.7/jar) + * [**qtjambi-network-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/6.2.7/jar) + * [**qtjambi-network-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/6.2.7/jar) * [QtQml](https://doc.qt.io/qt-6/qtqml-index.html) in module **qtjambi-qml**: - * [**qtjambi-qml-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/6.2.6/jar) - * [**qtjambi-qml-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/6.2.6/jar) - * [**qtjambi-qml-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/6.2.6/jar) - * [**qtjambi-qml-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/6.2.6/jar) - * [**qtjambi-qml-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/6.2.6/jar) - * [**qtjambi-qml-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/6.2.6/jar) - * [**qtjambi-qml-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/6.2.6/jar) - * [**qtjambi-qml-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/6.2.6/jar) + * [**qtjambi-qml-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/6.2.7/jar) + * [**qtjambi-qml-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/6.2.7/jar) + * [**qtjambi-qml-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/6.2.7/jar) + * [**qtjambi-qml-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/6.2.7/jar) + * [**qtjambi-qml-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/6.2.7/jar) + * [**qtjambi-qml-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/6.2.7/jar) + * [**qtjambi-qml-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/6.2.7/jar) + * [**qtjambi-qml-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/6.2.7/jar) * [QtQuick](https://doc.qt.io/qt-6/qtquick-index.html) in module **qtjambi-quick**: - * [**qtjambi-quick-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/6.2.6/jar) - * [**qtjambi-quick-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/6.2.6/jar) - * [**qtjambi-quick-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/6.2.6/jar) - * [**qtjambi-quick-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/6.2.6/jar) - * [**qtjambi-quick-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/6.2.6/jar) - * [**qtjambi-quick-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/6.2.6/jar) - * [**qtjambi-quick-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/6.2.6/jar) - * [**qtjambi-quick-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/6.2.6/jar) + * [**qtjambi-quick-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/6.2.7/jar) + * [**qtjambi-quick-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/6.2.7/jar) + * [**qtjambi-quick-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/6.2.7/jar) + * [**qtjambi-quick-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/6.2.7/jar) + * [**qtjambi-quick-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/6.2.7/jar) + * [**qtjambi-quick-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/6.2.7/jar) + * [**qtjambi-quick-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/6.2.7/jar) + * [**qtjambi-quick-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/6.2.7/jar) * [QtQuickControls](https://doc.qt.io/qt-6/qtquickcontrols-index.html) in module **qtjambi-quickcontrols**: - * [**qtjambi-quickcontrols-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/6.2.6/jar) - * [**qtjambi-quickcontrols-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/6.2.6/jar) - * [**qtjambi-quickcontrols-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/6.2.6/jar) - * [**qtjambi-quickcontrols-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/6.2.6/jar) - * [**qtjambi-quickcontrols-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/6.2.6/jar) - * [**qtjambi-quickcontrols-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/6.2.6/jar) - * [**qtjambi-quickcontrols-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/6.2.6/jar) - * [**qtjambi-quickcontrols-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/6.2.6/jar) + * [**qtjambi-quickcontrols-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/6.2.7/jar) + * [**qtjambi-quickcontrols-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/6.2.7/jar) + * [**qtjambi-quickcontrols-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/6.2.7/jar) + * [**qtjambi-quickcontrols-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/6.2.7/jar) + * [**qtjambi-quickcontrols-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/6.2.7/jar) + * [**qtjambi-quickcontrols-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/6.2.7/jar) + * [**qtjambi-quickcontrols-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/6.2.7/jar) + * [**qtjambi-quickcontrols-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/6.2.7/jar) * [QtQuickTest](https://doc.qt.io/qt-6/qtquicktest-index.html) in module **qtjambi-quicktest**: - * [**qtjambi-quicktest-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/6.2.6/jar) - * [**qtjambi-quicktest-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/6.2.6/jar) - * [**qtjambi-quicktest-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/6.2.6/jar) - * [**qtjambi-quicktest-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/6.2.6/jar) - * [**qtjambi-quicktest-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/6.2.6/jar) - * [**qtjambi-quicktest-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/6.2.6/jar) - * [**qtjambi-quicktest-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/6.2.6/jar) - * [**qtjambi-quicktest-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/6.2.6/jar) + * [**qtjambi-quicktest-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/6.2.7/jar) + * [**qtjambi-quicktest-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/6.2.7/jar) + * [**qtjambi-quicktest-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/6.2.7/jar) + * [**qtjambi-quicktest-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/6.2.7/jar) + * [**qtjambi-quicktest-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/6.2.7/jar) + * [**qtjambi-quicktest-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/6.2.7/jar) + * [**qtjambi-quicktest-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/6.2.7/jar) + * [**qtjambi-quicktest-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/6.2.7/jar) * [QtTest](https://doc.qt.io/qt-6/qttest-index.html) in module **qtjambi-test**: - * [**qtjambi-test-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/6.2.6/jar) - * [**qtjambi-test-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/6.2.6/jar) - * [**qtjambi-test-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/6.2.6/jar) - * [**qtjambi-test-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/6.2.6/jar) - * [**qtjambi-test-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/6.2.6/jar) - * [**qtjambi-test-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/6.2.6/jar) - * [**qtjambi-test-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/6.2.6/jar) - * [**qtjambi-test-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/6.2.6/jar) + * [**qtjambi-test-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/6.2.7/jar) + * [**qtjambi-test-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/6.2.7/jar) + * [**qtjambi-test-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/6.2.7/jar) + * [**qtjambi-test-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/6.2.7/jar) + * [**qtjambi-test-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/6.2.7/jar) + * [**qtjambi-test-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/6.2.7/jar) + * [**qtjambi-test-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/6.2.7/jar) + * [**qtjambi-test-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/6.2.7/jar) ### Qt6 Add-Ons * [QtBluetooth](https://doc.qt.io/qt-6/qtbluetooth-index.html) in module **qtjambi-bluetooth**: - * [**qtjambi-bluetooth-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/6.2.6/jar) - * [**qtjambi-bluetooth-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/6.2.6/jar) - * [**qtjambi-bluetooth-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/6.2.6/jar) - * [**qtjambi-bluetooth-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/6.2.6/jar) - * [**qtjambi-bluetooth-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/6.2.6/jar) - * [**qtjambi-bluetooth-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/6.2.6/jar) - * [**qtjambi-bluetooth-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/6.2.6/jar) - * [**qtjambi-bluetooth-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/6.2.6/jar) + * [**qtjambi-bluetooth-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/6.2.7/jar) + * [**qtjambi-bluetooth-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/6.2.7/jar) + * [**qtjambi-bluetooth-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/6.2.7/jar) + * [**qtjambi-bluetooth-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/6.2.7/jar) + * [**qtjambi-bluetooth-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/6.2.7/jar) + * [**qtjambi-bluetooth-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/6.2.7/jar) + * [**qtjambi-bluetooth-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/6.2.7/jar) + * [**qtjambi-bluetooth-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/6.2.7/jar) * [QtCharts](https://doc.qt.io/qt-6/qtcharts-index.html) in module **qtjambi-charts**: - * [**qtjambi-charts-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/6.2.6/jar) - * [**qtjambi-charts-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/6.2.6/jar) - * [**qtjambi-charts-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/6.2.6/jar) - * [**qtjambi-charts-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/6.2.6/jar) - * [**qtjambi-charts-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/6.2.6/jar) - * [**qtjambi-charts-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/6.2.6/jar) - * [**qtjambi-charts-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/6.2.6/jar) - * [**qtjambi-charts-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/6.2.6/jar) + * [**qtjambi-charts-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/6.2.7/jar) + * [**qtjambi-charts-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/6.2.7/jar) + * [**qtjambi-charts-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/6.2.7/jar) + * [**qtjambi-charts-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/6.2.7/jar) + * [**qtjambi-charts-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/6.2.7/jar) + * [**qtjambi-charts-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/6.2.7/jar) + * [**qtjambi-charts-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/6.2.7/jar) + * [**qtjambi-charts-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/6.2.7/jar) * [QtDataVisualization](https://doc.qt.io/qt-6/qtdatavisualization-index.html) in module **qtjambi-datavisualization**: - * [**qtjambi-datavisualization-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/6.2.6/jar) - * [**qtjambi-datavisualization-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/6.2.6/jar) - * [**qtjambi-datavisualization-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/6.2.6/jar) - * [**qtjambi-datavisualization-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/6.2.6/jar) - * [**qtjambi-datavisualization-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/6.2.6/jar) - * [**qtjambi-datavisualization-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/6.2.6/jar) - * [**qtjambi-datavisualization-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/6.2.6/jar) - * [**qtjambi-datavisualization-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/6.2.6/jar) + * [**qtjambi-datavisualization-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/6.2.7/jar) + * [**qtjambi-datavisualization-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/6.2.7/jar) + * [**qtjambi-datavisualization-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/6.2.7/jar) + * [**qtjambi-datavisualization-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/6.2.7/jar) + * [**qtjambi-datavisualization-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/6.2.7/jar) + * [**qtjambi-datavisualization-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/6.2.7/jar) + * [**qtjambi-datavisualization-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/6.2.7/jar) + * [**qtjambi-datavisualization-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/6.2.7/jar) * [QtConcurrent](https://doc.qt.io/qt-6/qtconcurrent-index.html) in module **qtjambi-concurrent**: - * [**qtjambi-concurrent-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/6.2.6/jar) - * [**qtjambi-concurrent-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/6.2.6/jar) - * [**qtjambi-concurrent-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/6.2.6/jar) - * [**qtjambi-concurrent-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/6.2.6/jar) - * [**qtjambi-concurrent-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/6.2.6/jar) - * [**qtjambi-concurrent-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/6.2.6/jar) - * [**qtjambi-concurrent-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/6.2.6/jar) - * [**qtjambi-concurrent-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/6.2.6/jar) + * [**qtjambi-concurrent-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/6.2.7/jar) + * [**qtjambi-concurrent-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/6.2.7/jar) + * [**qtjambi-concurrent-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/6.2.7/jar) + * [**qtjambi-concurrent-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/6.2.7/jar) + * [**qtjambi-concurrent-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/6.2.7/jar) + * [**qtjambi-concurrent-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/6.2.7/jar) + * [**qtjambi-concurrent-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/6.2.7/jar) + * [**qtjambi-concurrent-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/6.2.7/jar) * [QtHelp](https://doc.qt.io/qt-6/qthelp-index.html) in module **qtjambi-help**: - * [**qtjambi-help-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/6.2.6/jar) - * [**qtjambi-help-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/6.2.6/jar) - * [**qtjambi-help-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/6.2.6/jar) - * [**qtjambi-help-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/6.2.6/jar) - * [**qtjambi-help-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/6.2.6/jar) - * [**qtjambi-help-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/6.2.6/jar) - * [**qtjambi-help-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/6.2.6/jar) - * [**qtjambi-help-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/6.2.6/jar) + * [**qtjambi-help-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/6.2.7/jar) + * [**qtjambi-help-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/6.2.7/jar) + * [**qtjambi-help-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/6.2.7/jar) + * [**qtjambi-help-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/6.2.7/jar) + * [**qtjambi-help-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/6.2.7/jar) + * [**qtjambi-help-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/6.2.7/jar) + * [**qtjambi-help-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/6.2.7/jar) + * [**qtjambi-help-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/6.2.7/jar) * [QtOpenGL](https://doc.qt.io/qt-6/qtopengl-index.html) in module **qtjambi-opengl**: - * [**qtjambi-opengl-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl/6.2.6/jar) - * [**qtjambi-opengl-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-windows-x64/6.2.6/jar) - * [**qtjambi-opengl-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-linux-x64/6.2.6/jar) - * [**qtjambi-opengl-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-macos/6.2.6/jar) - * [**qtjambi-opengl-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x86/6.2.6/jar) - * [**qtjambi-opengl-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x64/6.2.6/jar) - * [**qtjambi-opengl-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm/6.2.6/jar) - * [**qtjambi-opengl-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm64/6.2.6/jar) + * [**qtjambi-opengl-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl/6.2.7/jar) + * [**qtjambi-opengl-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-windows-x64/6.2.7/jar) + * [**qtjambi-opengl-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-linux-x64/6.2.7/jar) + * [**qtjambi-opengl-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-macos/6.2.7/jar) + * [**qtjambi-opengl-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x86/6.2.7/jar) + * [**qtjambi-opengl-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-x64/6.2.7/jar) + * [**qtjambi-opengl-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm/6.2.7/jar) + * [**qtjambi-opengl-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-opengl-native-android-arm64/6.2.7/jar) * [QtOpenGLWidgets](https://doc.qt.io/qt-6/qtopenglwidgets-module.html) in module **qtjambi-openglwidgets**: - * [**qtjambi-openglwidgets-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets/6.2.6/jar) - * [**qtjambi-openglwidgets-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-windows-x64/6.2.6/jar) - * [**qtjambi-openglwidgets-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-linux-x64/6.2.6/jar) - * [**qtjambi-openglwidgets-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-macos/6.2.6/jar) - * [**qtjambi-openglwidgets-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x86/6.2.6/jar) - * [**qtjambi-openglwidgets-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x64/6.2.6/jar) - * [**qtjambi-openglwidgets-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm/6.2.6/jar) - * [**qtjambi-openglwidgets-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm64/6.2.6/jar) + * [**qtjambi-openglwidgets-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets/6.2.7/jar) + * [**qtjambi-openglwidgets-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-windows-x64/6.2.7/jar) + * [**qtjambi-openglwidgets-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-linux-x64/6.2.7/jar) + * [**qtjambi-openglwidgets-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-macos/6.2.7/jar) + * [**qtjambi-openglwidgets-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x86/6.2.7/jar) + * [**qtjambi-openglwidgets-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-x64/6.2.7/jar) + * [**qtjambi-openglwidgets-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm/6.2.7/jar) + * [**qtjambi-openglwidgets-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-openglwidgets-native-android-arm64/6.2.7/jar) * [QtMultimedia](https://doc.qt.io/qt-6/qtmultimedia-index.html) in module **qtjambi-multimedia**: - * [**qtjambi-multimedia-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/6.2.6/jar) - * [**qtjambi-multimedia-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/6.2.6/jar) - * [**qtjambi-multimedia-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/6.2.6/jar) - * [**qtjambi-multimedia-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/6.2.6/jar) - * [**qtjambi-multimedia-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/6.2.6/jar) - * [**qtjambi-multimedia-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/6.2.6/jar) - * [**qtjambi-multimedia-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/6.2.6/jar) - * [**qtjambi-multimedia-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/6.2.6/jar) + * [**qtjambi-multimedia-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/6.2.7/jar) + * [**qtjambi-multimedia-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/6.2.7/jar) + * [**qtjambi-multimedia-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/6.2.7/jar) + * [**qtjambi-multimedia-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/6.2.7/jar) + * [**qtjambi-multimedia-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/6.2.7/jar) + * [**qtjambi-multimedia-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/6.2.7/jar) + * [**qtjambi-multimedia-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/6.2.7/jar) + * [**qtjambi-multimedia-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/6.2.7/jar) * [QtMultimediaWidgets](https://doc.qt.io/qt-6/qtmultimedia-index.html) in module **qtjambi-multimediawidgets**: - * [**qtjambi-multimediawidgets-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/6.2.6/jar) - * [**qtjambi-multimediawidgets-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/6.2.6/jar) + * [**qtjambi-multimediawidgets-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/6.2.7/jar) + * [**qtjambi-multimediawidgets-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/6.2.7/jar) * [QtNfc](https://doc.qt.io/qt-6/qtnfc-index.html) in module **qtjambi-nfc**: - * [**qtjambi-nfc-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/6.2.6/jar) - * [**qtjambi-nfc-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/6.2.6/jar) - * [**qtjambi-nfc-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/6.2.6/jar) - * [**qtjambi-nfc-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/6.2.6/jar) - * [**qtjambi-nfc-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/6.2.6/jar) - * [**qtjambi-nfc-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/6.2.6/jar) - * [**qtjambi-nfc-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/6.2.6/jar) - * [**qtjambi-nfc-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/6.2.6/jar) + * [**qtjambi-nfc-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/6.2.7/jar) + * [**qtjambi-nfc-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/6.2.7/jar) + * [**qtjambi-nfc-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/6.2.7/jar) + * [**qtjambi-nfc-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/6.2.7/jar) + * [**qtjambi-nfc-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/6.2.7/jar) + * [**qtjambi-nfc-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/6.2.7/jar) + * [**qtjambi-nfc-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/6.2.7/jar) + * [**qtjambi-nfc-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/6.2.7/jar) * [QtNetworkAuth](https://doc.qt.io/qt-6/qtnetworkauth-index.html) in module **qtjambi-networkauth**: - * [**qtjambi-networkauth-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/6.2.6/jar) - * [**qtjambi-networkauth-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/6.2.6/jar) - * [**qtjambi-networkauth-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/6.2.6/jar) - * [**qtjambi-networkauth-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/6.2.6/jar) - * [**qtjambi-networkauth-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/6.2.6/jar) - * [**qtjambi-networkauth-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/6.2.6/jar) - * [**qtjambi-networkauth-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/6.2.6/jar) - * [**qtjambi-networkauth-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/6.2.6/jar) + * [**qtjambi-networkauth-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/6.2.7/jar) + * [**qtjambi-networkauth-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/6.2.7/jar) + * [**qtjambi-networkauth-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/6.2.7/jar) + * [**qtjambi-networkauth-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/6.2.7/jar) + * [**qtjambi-networkauth-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/6.2.7/jar) + * [**qtjambi-networkauth-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/6.2.7/jar) + * [**qtjambi-networkauth-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/6.2.7/jar) + * [**qtjambi-networkauth-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/6.2.7/jar) * [QtPositioning](https://doc.qt.io/qt-6/qtpositioning-index.html) in module **qtjambi-positioning**: - * [**qtjambi-positioning-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/6.2.6/jar) - * [**qtjambi-positioning-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/6.2.6/jar) - * [**qtjambi-positioning-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/6.2.6/jar) - * [**qtjambi-positioning-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/6.2.6/jar) - * [**qtjambi-positioning-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/6.2.6/jar) - * [**qtjambi-positioning-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/6.2.6/jar) - * [**qtjambi-positioning-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/6.2.6/jar) - * [**qtjambi-positioning-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/6.2.6/jar) + * [**qtjambi-positioning-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/6.2.7/jar) + * [**qtjambi-positioning-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/6.2.7/jar) + * [**qtjambi-positioning-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/6.2.7/jar) + * [**qtjambi-positioning-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/6.2.7/jar) + * [**qtjambi-positioning-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/6.2.7/jar) + * [**qtjambi-positioning-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/6.2.7/jar) + * [**qtjambi-positioning-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/6.2.7/jar) + * [**qtjambi-positioning-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/6.2.7/jar) * [QtPrintSupport](https://doc.qt.io/qt-6/qtprintsupport-index.html) in module **qtjambi-printsupport**: - * [**qtjambi-printsupport-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/6.2.6/jar) - * [**qtjambi-printsupport-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/6.2.6/jar) - * [**qtjambi-printsupport-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/6.2.6/jar) - * [**qtjambi-printsupport-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/6.2.6/jar) - * [**qtjambi-printsupport-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/6.2.6/jar) - * [**qtjambi-printsupport-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/6.2.6/jar) - * [**qtjambi-printsupport-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/6.2.6/jar) - * [**qtjambi-printsupport-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/6.2.6/jar) + * [**qtjambi-printsupport-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/6.2.7/jar) + * [**qtjambi-printsupport-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/6.2.7/jar) + * [**qtjambi-printsupport-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/6.2.7/jar) + * [**qtjambi-printsupport-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/6.2.7/jar) + * [**qtjambi-printsupport-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/6.2.7/jar) + * [**qtjambi-printsupport-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/6.2.7/jar) + * [**qtjambi-printsupport-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/6.2.7/jar) + * [**qtjambi-printsupport-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/6.2.7/jar) * [QtQuick3D](https://doc.qt.io/qt-6/qtquick3d-index.html) in module **qtjambi-quick3d**: - * [**qtjambi-quick3d-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/6.2.6/jar) - * [**qtjambi-quick3d-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/6.2.6/jar) - * [**qtjambi-quick3d-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/6.2.6/jar) - * [**qtjambi-quick3d-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/6.2.6/jar) - * [**qtjambi-quick3d-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/6.2.6/jar) - * [**qtjambi-quick3d-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/6.2.6/jar) - * [**qtjambi-quick3d-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/6.2.6/jar) - * [**qtjambi-quick3d-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/6.2.6/jar) + * [**qtjambi-quick3d-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/6.2.7/jar) + * [**qtjambi-quick3d-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/6.2.7/jar) + * [**qtjambi-quick3d-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/6.2.7/jar) + * [**qtjambi-quick3d-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/6.2.7/jar) + * [**qtjambi-quick3d-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/6.2.7/jar) + * [**qtjambi-quick3d-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/6.2.7/jar) + * [**qtjambi-quick3d-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/6.2.7/jar) + * [**qtjambi-quick3d-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/6.2.7/jar) * [QtQuickWidgets](https://doc.qt.io/qt-6/qtquickwidgets-module.html) in module **qtjambi-quickwidgets**: - * [**qtjambi-quickwidgets-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/6.2.6/jar) - * [**qtjambi-quickwidgets-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/6.2.6/jar) - * [**qtjambi-quickwidgets-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/6.2.6/jar) - * [**qtjambi-quickwidgets-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/6.2.6/jar) - * [**qtjambi-quickwidgets-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/6.2.6/jar) - * [**qtjambi-quickwidgets-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/6.2.6/jar) - * [**qtjambi-quickwidgets-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/6.2.6/jar) - * [**qtjambi-quickwidgets-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/6.2.6/jar) + * [**qtjambi-quickwidgets-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/6.2.7/jar) + * [**qtjambi-quickwidgets-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/6.2.7/jar) + * [**qtjambi-quickwidgets-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/6.2.7/jar) + * [**qtjambi-quickwidgets-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/6.2.7/jar) + * [**qtjambi-quickwidgets-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/6.2.7/jar) + * [**qtjambi-quickwidgets-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/6.2.7/jar) + * [**qtjambi-quickwidgets-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/6.2.7/jar) + * [**qtjambi-quickwidgets-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/6.2.7/jar) * [QtRemoteObjects](https://doc.qt.io/qt-6/qtremoteobjects-module.html) in module **qtjambi-remoteobjects**: - * [**qtjambi-remoteobjects-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/6.2.6/jar) - * [**qtjambi-remoteobjects-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/6.2.6/jar) - * [**qtjambi-remoteobjects-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/6.2.6/jar) - * [**qtjambi-remoteobjects-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/6.2.6/jar) - * [**qtjambi-remoteobjects-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/6.2.6/jar) - * [**qtjambi-remoteobjects-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/6.2.6/jar) - * [**qtjambi-remoteobjects-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/6.2.6/jar) - * [**qtjambi-remoteobjects-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/6.2.6/jar) + * [**qtjambi-remoteobjects-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/6.2.7/jar) + * [**qtjambi-remoteobjects-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/6.2.7/jar) + * [**qtjambi-remoteobjects-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/6.2.7/jar) + * [**qtjambi-remoteobjects-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/6.2.7/jar) + * [**qtjambi-remoteobjects-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/6.2.7/jar) + * [**qtjambi-remoteobjects-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/6.2.7/jar) + * [**qtjambi-remoteobjects-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/6.2.7/jar) + * [**qtjambi-remoteobjects-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/6.2.7/jar) * [QtSCXML](https://doc.qt.io/qt-6/qtscxml-index.html) in module **qtjambi-scxml**: - * [**qtjambi-scxml-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/6.2.6/jar) - * [**qtjambi-scxml-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/6.2.6/jar) - * [**qtjambi-scxml-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/6.2.6/jar) - * [**qtjambi-scxml-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/6.2.6/jar) - * [**qtjambi-scxml-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/6.2.6/jar) - * [**qtjambi-scxml-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/6.2.6/jar) - * [**qtjambi-scxml-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/6.2.6/jar) - * [**qtjambi-scxml-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/6.2.6/jar) + * [**qtjambi-scxml-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/6.2.7/jar) + * [**qtjambi-scxml-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/6.2.7/jar) + * [**qtjambi-scxml-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/6.2.7/jar) + * [**qtjambi-scxml-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/6.2.7/jar) + * [**qtjambi-scxml-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/6.2.7/jar) + * [**qtjambi-scxml-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/6.2.7/jar) + * [**qtjambi-scxml-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/6.2.7/jar) + * [**qtjambi-scxml-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/6.2.7/jar) * [QtSensors](https://doc.qt.io/qt-6/qtsensors-index.html) in module **qtjambi-sensors**: - * [**qtjambi-sensors-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/6.2.6/jar) - * [**qtjambi-sensors-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/6.2.6/jar) - * [**qtjambi-sensors-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/6.2.6/jar) - * [**qtjambi-sensors-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/6.2.6/jar) - * [**qtjambi-sensors-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/6.2.6/jar) - * [**qtjambi-sensors-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/6.2.6/jar) - * [**qtjambi-sensors-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/6.2.6/jar) - * [**qtjambi-sensors-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/6.2.6/jar) + * [**qtjambi-sensors-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/6.2.7/jar) + * [**qtjambi-sensors-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/6.2.7/jar) + * [**qtjambi-sensors-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/6.2.7/jar) + * [**qtjambi-sensors-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/6.2.7/jar) + * [**qtjambi-sensors-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/6.2.7/jar) + * [**qtjambi-sensors-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/6.2.7/jar) + * [**qtjambi-sensors-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/6.2.7/jar) + * [**qtjambi-sensors-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/6.2.7/jar) * [QtSerialBus](https://doc.qt.io/qt-6/qtserialbus-index.html) in module **qtjambi-serialbus**: - * [**qtjambi-serialbus-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/6.2.6/jar) - * [**qtjambi-serialbus-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/6.2.6/jar) - * [**qtjambi-serialbus-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/6.2.6/jar) - * [**qtjambi-serialbus-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/6.2.6/jar) - * [**qtjambi-serialbus-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/6.2.6/jar) - * [**qtjambi-serialbus-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/6.2.6/jar) - * [**qtjambi-serialbus-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/6.2.6/jar) - * [**qtjambi-serialbus-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/6.2.6/jar) + * [**qtjambi-serialbus-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/6.2.7/jar) + * [**qtjambi-serialbus-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/6.2.7/jar) + * [**qtjambi-serialbus-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/6.2.7/jar) + * [**qtjambi-serialbus-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/6.2.7/jar) + * [**qtjambi-serialbus-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/6.2.7/jar) + * [**qtjambi-serialbus-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/6.2.7/jar) + * [**qtjambi-serialbus-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/6.2.7/jar) + * [**qtjambi-serialbus-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/6.2.7/jar) * [QtSerialPort](https://doc.qt.io/qt-6/qtserialport-index.html) in module **qtjambi-serialport**: - * [**qtjambi-serialport-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/6.2.6/jar) - * [**qtjambi-serialport-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/6.2.6/jar) - * [**qtjambi-serialport-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/6.2.6/jar) - * [**qtjambi-serialport-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/6.2.6/jar) - * [**qtjambi-serialport-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/6.2.6/jar) - * [**qtjambi-serialport-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/6.2.6/jar) - * [**qtjambi-serialport-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/6.2.6/jar) - * [**qtjambi-serialport-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/6.2.6/jar) + * [**qtjambi-serialport-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/6.2.7/jar) + * [**qtjambi-serialport-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/6.2.7/jar) + * [**qtjambi-serialport-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/6.2.7/jar) + * [**qtjambi-serialport-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/6.2.7/jar) + * [**qtjambi-serialport-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/6.2.7/jar) + * [**qtjambi-serialport-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/6.2.7/jar) + * [**qtjambi-serialport-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/6.2.7/jar) + * [**qtjambi-serialport-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/6.2.7/jar) * [QtSql](https://doc.qt.io/qt-6/qtsql-index.html) in module **qtjambi-sql**: - * [**qtjambi-sql-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/6.2.6/jar) - * [**qtjambi-sql-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/6.2.6/jar) - * [**qtjambi-sql-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/6.2.6/jar) - * [**qtjambi-sql-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/6.2.6/jar) - * [**qtjambi-sql-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/6.2.6/jar) - * [**qtjambi-sql-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/6.2.6/jar) - * [**qtjambi-sql-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/6.2.6/jar) - * [**qtjambi-sql-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/6.2.6/jar) + * [**qtjambi-sql-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/6.2.7/jar) + * [**qtjambi-sql-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/6.2.7/jar) + * [**qtjambi-sql-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/6.2.7/jar) + * [**qtjambi-sql-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/6.2.7/jar) + * [**qtjambi-sql-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/6.2.7/jar) + * [**qtjambi-sql-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/6.2.7/jar) + * [**qtjambi-sql-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/6.2.7/jar) + * [**qtjambi-sql-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/6.2.7/jar) * [QtSvg](https://doc.qt.io/qt-6/qtsvg-index.html) in module **qtjambi-svg**: - * [**qtjambi-svg-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/6.2.6/jar) - * [**qtjambi-svg-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/6.2.6/jar) - * [**qtjambi-svg-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/6.2.6/jar) - * [**qtjambi-svg-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/6.2.6/jar) - * [**qtjambi-svg-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/6.2.6/jar) - * [**qtjambi-svg-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/6.2.6/jar) - * [**qtjambi-svg-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/6.2.6/jar) - * [**qtjambi-svg-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/6.2.6/jar) + * [**qtjambi-svg-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/6.2.7/jar) + * [**qtjambi-svg-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/6.2.7/jar) + * [**qtjambi-svg-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/6.2.7/jar) + * [**qtjambi-svg-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/6.2.7/jar) + * [**qtjambi-svg-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/6.2.7/jar) + * [**qtjambi-svg-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/6.2.7/jar) + * [**qtjambi-svg-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/6.2.7/jar) + * [**qtjambi-svg-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/6.2.7/jar) * [QtSvgWidgets](https://doc.qt.io/qt-6/qtsvg-index.html) in module **qtjambi-svgwidgets**: - * [**qtjambi-svgwidgets-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets/6.2.6/jar) - * [**qtjambi-svgwidgets-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-windows-x64/6.2.6/jar) - * [**qtjambi-svgwidgets-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-linux-x64/6.2.6/jar) - * [**qtjambi-svgwidgets-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-macos/6.2.6/jar) - * [**qtjambi-svgwidgets-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x86/6.2.6/jar) - * [**qtjambi-svgwidgets-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x64/6.2.6/jar) - * [**qtjambi-svgwidgets-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm/6.2.6/jar) - * [**qtjambi-svgwidgets-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm64/6.2.6/jar) + * [**qtjambi-svgwidgets-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets/6.2.7/jar) + * [**qtjambi-svgwidgets-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-windows-x64/6.2.7/jar) + * [**qtjambi-svgwidgets-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-linux-x64/6.2.7/jar) + * [**qtjambi-svgwidgets-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-macos/6.2.7/jar) + * [**qtjambi-svgwidgets-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x86/6.2.7/jar) + * [**qtjambi-svgwidgets-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-x64/6.2.7/jar) + * [**qtjambi-svgwidgets-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm/6.2.7/jar) + * [**qtjambi-svgwidgets-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svgwidgets-native-android-arm64/6.2.7/jar) * [QtStateMachine](https://doc.qt.io/qt-6/qtstatemachine-index.html) in module **qtjambi-statemachine**: - * [**qtjambi-statemachine-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine/6.2.6/jar) - * [**qtjambi-statemachine-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-windows-x64/6.2.6/jar) - * [**qtjambi-statemachine-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-linux-x64/6.2.6/jar) - * [**qtjambi-statemachine-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-macos/6.2.6/jar) - * [**qtjambi-statemachine-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x86/6.2.6/jar) - * [**qtjambi-statemachine-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x64/6.2.6/jar) - * [**qtjambi-statemachine-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm/6.2.6/jar) - * [**qtjambi-statemachine-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm64/6.2.6/jar) + * [**qtjambi-statemachine-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine/6.2.7/jar) + * [**qtjambi-statemachine-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-windows-x64/6.2.7/jar) + * [**qtjambi-statemachine-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-linux-x64/6.2.7/jar) + * [**qtjambi-statemachine-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-macos/6.2.7/jar) + * [**qtjambi-statemachine-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x86/6.2.7/jar) + * [**qtjambi-statemachine-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-x64/6.2.7/jar) + * [**qtjambi-statemachine-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm/6.2.7/jar) + * [**qtjambi-statemachine-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-statemachine-native-android-arm64/6.2.7/jar) * [QtUITools](https://doc.qt.io/qt-6/qtuitools-index.html) in module **qtjambi-uitools**: - * [**qtjambi-uitools-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/6.2.6/jar) - * [**qtjambi-uitools-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/6.2.6/jar) - * [**qtjambi-uitools-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/6.2.6/jar) - * [**qtjambi-uitools-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/6.2.6/jar) - * [**qtjambi-uitools-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/6.2.6/jar) - * [**qtjambi-uitools-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/6.2.6/jar) - * [**qtjambi-uitools-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/6.2.6/jar) - * [**qtjambi-uitools-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/6.2.6/jar) + * [**qtjambi-uitools-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/6.2.7/jar) + * [**qtjambi-uitools-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/6.2.7/jar) + * [**qtjambi-uitools-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/6.2.7/jar) + * [**qtjambi-uitools-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/6.2.7/jar) + * [**qtjambi-uitools-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/6.2.7/jar) + * [**qtjambi-uitools-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/6.2.7/jar) + * [**qtjambi-uitools-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/6.2.7/jar) + * [**qtjambi-uitools-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/6.2.7/jar) * [QtWebChannel](https://doc.qt.io/qt-6/qtwebchannel-index.html) in module **qtjambi-webchannel**: - * [**qtjambi-webchannel-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/6.2.6/jar) - * [**qtjambi-webchannel-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/6.2.6/jar) - * [**qtjambi-webchannel-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/6.2.6/jar) - * [**qtjambi-webchannel-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/6.2.6/jar) - * [**qtjambi-webchannel-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/6.2.6/jar) - * [**qtjambi-webchannel-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/6.2.6/jar) - * [**qtjambi-webchannel-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/6.2.6/jar) - * [**qtjambi-webchannel-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/6.2.6/jar) + * [**qtjambi-webchannel-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/6.2.7/jar) + * [**qtjambi-webchannel-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/6.2.7/jar) + * [**qtjambi-webchannel-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/6.2.7/jar) + * [**qtjambi-webchannel-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/6.2.7/jar) + * [**qtjambi-webchannel-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/6.2.7/jar) + * [**qtjambi-webchannel-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/6.2.7/jar) + * [**qtjambi-webchannel-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/6.2.7/jar) + * [**qtjambi-webchannel-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/6.2.7/jar) * [QtWebEngineCore](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginecore**: - * [**qtjambi-webenginecore-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/6.2.6/jar) - * [**qtjambi-webenginecore-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/6.2.6/jar) - * [**qtjambi-webenginecore-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/6.2.6/jar) - * [**qtjambi-webenginecore-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/6.2.6/jar) + * [**qtjambi-webenginecore-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/6.2.7/jar) + * [**qtjambi-webenginecore-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/6.2.7/jar) + * [**qtjambi-webenginecore-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/6.2.7/jar) + * [**qtjambi-webenginecore-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/6.2.7/jar) * [QtWebEngineWidgets](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginewidgets**: - * [**qtjambi-webenginewidgets-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/6.2.6/jar) - * [**qtjambi-webenginewidgets-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/6.2.6/jar) - * [**qtjambi-webenginewidgets-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/6.2.6/jar) - * [**qtjambi-webenginewidgets-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/6.2.6/jar) + * [**qtjambi-webenginewidgets-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/6.2.7/jar) + * [**qtjambi-webenginewidgets-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/6.2.7/jar) + * [**qtjambi-webenginewidgets-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/6.2.7/jar) + * [**qtjambi-webenginewidgets-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/6.2.7/jar) * [QtWebEngineQuick](https://doc.qt.io/qt-6/qtwebengine-index.html) in module **qtjambi-webenginequick**: - * [**qtjambi-webenginequick-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick/6.2.6/jar) - * [**qtjambi-webenginequick-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-windows-x64/6.2.6/jar) - * [**qtjambi-webenginequick-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-linux-x64/6.2.6/jar) - * [**qtjambi-webenginequick-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-macos/6.2.6/jar) + * [**qtjambi-webenginequick-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick/6.2.7/jar) + * [**qtjambi-webenginequick-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-windows-x64/6.2.7/jar) + * [**qtjambi-webenginequick-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-linux-x64/6.2.7/jar) + * [**qtjambi-webenginequick-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginequick-native-macos/6.2.7/jar) * [QtWebSockets](https://doc.qt.io/qt-6/qtwebsockets-index.html) in module **qtjambi-websockets**: - * [**qtjambi-websockets-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/6.2.6/jar) - * [**qtjambi-websockets-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/6.2.6/jar) - * [**qtjambi-websockets-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/6.2.6/jar) - * [**qtjambi-websockets-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/6.2.6/jar) - * [**qtjambi-websockets-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/6.2.6/jar) - * [**qtjambi-websockets-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/6.2.6/jar) - * [**qtjambi-websockets-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/6.2.6/jar) - * [**qtjambi-websockets-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/6.2.6/jar) + * [**qtjambi-websockets-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/6.2.7/jar) + * [**qtjambi-websockets-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/6.2.7/jar) + * [**qtjambi-websockets-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/6.2.7/jar) + * [**qtjambi-websockets-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/6.2.7/jar) + * [**qtjambi-websockets-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/6.2.7/jar) + * [**qtjambi-websockets-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/6.2.7/jar) + * [**qtjambi-websockets-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/6.2.7/jar) + * [**qtjambi-websockets-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/6.2.7/jar) * [QtWebView](https://doc.qt.io/qt-6/qtwebview-index.html) in module **qtjambi-webview**: - * [**qtjambi-webview-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/6.2.6/jar) - * [**qtjambi-webview-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/6.2.6/jar) - * [**qtjambi-webview-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/6.2.6/jar) - * [**qtjambi-webview-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/6.2.6/jar) - * [**qtjambi-webview-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/6.2.6/jar) - * [**qtjambi-webview-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/6.2.6/jar) - * [**qtjambi-webview-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/6.2.6/jar) - * [**qtjambi-webview-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/6.2.6/jar) + * [**qtjambi-webview-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/6.2.7/jar) + * [**qtjambi-webview-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/6.2.7/jar) + * [**qtjambi-webview-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/6.2.7/jar) + * [**qtjambi-webview-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/6.2.7/jar) + * [**qtjambi-webview-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/6.2.7/jar) + * [**qtjambi-webview-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/6.2.7/jar) + * [**qtjambi-webview-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/6.2.7/jar) + * [**qtjambi-webview-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/6.2.7/jar) * [QtVirtualKeyboard](https://doc.qt.io/qt-6/qtvirtualkeyboard-index.html) in module **qtjambi-virtualkeyboard**: - * [**qtjambi-virtualkeyboard-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/6.2.6/jar) - * [**qtjambi-virtualkeyboard-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/6.2.6/jar) + * [**qtjambi-virtualkeyboard-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/6.2.7/jar) + * [**qtjambi-virtualkeyboard-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/6.2.7/jar) * [QtXml](https://doc.qt.io/qt-6/qtxml-index.html) in module **qtjambi-xml**: - * [**qtjambi-xml-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/6.2.6/jar) - * [**qtjambi-xml-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/6.2.6/jar) - * [**qtjambi-xml-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/6.2.6/jar) - * [**qtjambi-xml-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/6.2.6/jar) - * [**qtjambi-xml-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/6.2.6/jar) - * [**qtjambi-xml-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/6.2.6/jar) - * [**qtjambi-xml-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/6.2.6/jar) - * [**qtjambi-xml-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/6.2.6/jar) + * [**qtjambi-xml-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/6.2.7/jar) + * [**qtjambi-xml-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/6.2.7/jar) + * [**qtjambi-xml-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/6.2.7/jar) + * [**qtjambi-xml-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/6.2.7/jar) + * [**qtjambi-xml-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/6.2.7/jar) + * [**qtjambi-xml-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/6.2.7/jar) + * [**qtjambi-xml-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/6.2.7/jar) + * [**qtjambi-xml-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/6.2.7/jar) * [QtDesigner](https://doc.qt.io/qt-6/qtdesigner-manual.html) in module **qtjambi-designer**: - * [**qtjambi-designer-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/6.2.6/jar) - * [**qtjambi-designer-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/6.2.6/jar) - * [**qtjambi-designer-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/6.2.6/jar) - * [**qtjambi-designer-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/6.2.6/jar) - * [**qtjambi-designer-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/6.2.6/jar) - * [**qtjambi-designer-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/6.2.6/jar) - * [**qtjambi-designer-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/6.2.6/jar) - * [**qtjambi-designer-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/6.2.6/jar) + * [**qtjambi-designer-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/6.2.7/jar) + * [**qtjambi-designer-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/6.2.7/jar) + * [**qtjambi-designer-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/6.2.7/jar) + * [**qtjambi-designer-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/6.2.7/jar) + * [**qtjambi-designer-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/6.2.7/jar) + * [**qtjambi-designer-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/6.2.7/jar) + * [**qtjambi-designer-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/6.2.7/jar) + * [**qtjambi-designer-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/6.2.7/jar) ### Qt6 Platform-dependent Add-Ons * [Active Qt (Windows only)](https://doc.qt.io/qt-6/activeqt-manual.html) in module **qtjambi-activex**: - * [**qtjambi-activex-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/6.2.6/jar) - * [**qtjambi-activex-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/6.2.6/jar) + * [**qtjambi-activex-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/6.2.7/jar) + * [**qtjambi-activex-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/6.2.7/jar) ### Qt3D * [Qt3DCore](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dcore**: - * [**qtjambi-qt3dcore-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/6.2.6/jar) - * [**qtjambi-qt3dcore-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dcore-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dcore-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/6.2.6/jar) - * [**qtjambi-qt3dcore-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dcore-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dcore-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dcore-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dcore-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/6.2.7/jar) + * [**qtjambi-qt3dcore-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dcore-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dcore-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/6.2.7/jar) + * [**qtjambi-qt3dcore-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dcore-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dcore-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dcore-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/6.2.7/jar) * [Qt3DRender](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3drender**: - * [**qtjambi-qt3drender-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/6.2.6/jar) - * [**qtjambi-qt3drender-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3drender-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3drender-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/6.2.6/jar) - * [**qtjambi-qt3drender-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3drender-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3drender-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3drender-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3drender-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/6.2.7/jar) + * [**qtjambi-qt3drender-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3drender-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3drender-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/6.2.7/jar) + * [**qtjambi-qt3drender-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3drender-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3drender-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3drender-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/6.2.7/jar) * [Qt3DAnimation](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3danimation**: - * [**qtjambi-qt3danimation-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/6.2.6/jar) - * [**qtjambi-qt3danimation-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3danimation-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3danimation-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/6.2.6/jar) - * [**qtjambi-qt3danimation-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3danimation-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3danimation-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3danimation-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3danimation-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/6.2.7/jar) + * [**qtjambi-qt3danimation-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3danimation-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3danimation-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/6.2.7/jar) + * [**qtjambi-qt3danimation-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3danimation-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3danimation-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3danimation-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/6.2.7/jar) * [Qt3DExtras](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dextras**: - * [**qtjambi-qt3dextras-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/6.2.6/jar) - * [**qtjambi-qt3dextras-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dextras-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dextras-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/6.2.6/jar) - * [**qtjambi-qt3dextras-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dextras-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dextras-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dextras-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dextras-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/6.2.7/jar) + * [**qtjambi-qt3dextras-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dextras-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dextras-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/6.2.7/jar) + * [**qtjambi-qt3dextras-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dextras-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dextras-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dextras-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/6.2.7/jar) * [Qt3DInput](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dinput**: - * [**qtjambi-qt3dinput-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/6.2.6/jar) - * [**qtjambi-qt3dinput-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dinput-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dinput-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/6.2.6/jar) - * [**qtjambi-qt3dinput-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dinput-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dinput-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dinput-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dinput-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/6.2.7/jar) + * [**qtjambi-qt3dinput-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dinput-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dinput-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/6.2.7/jar) + * [**qtjambi-qt3dinput-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dinput-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dinput-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dinput-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/6.2.7/jar) * [Qt3DLogic](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dlogic**: - * [**qtjambi-qt3dlogic-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dlogic-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dlogic-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dlogic-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/6.2.7/jar) * [Qt3DQuick](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquick**: - * [**qtjambi-qt3dquick-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/6.2.6/jar) - * [**qtjambi-qt3dquick-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dquick-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dquick-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/6.2.6/jar) - * [**qtjambi-qt3dquick-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dquick-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dquick-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dquick-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dquick-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/6.2.7/jar) + * [**qtjambi-qt3dquick-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dquick-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dquick-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/6.2.7/jar) + * [**qtjambi-qt3dquick-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dquick-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dquick-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dquick-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/6.2.7/jar) * [Qt3DQuickExtras](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquickextras**: - * [**qtjambi-qt3dquickextras-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dquickextras-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dquickextras-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dquickextras-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/6.2.7/jar) * [Qt3DQuickScene3D](https://doc.qt.io/qt-6/qt3d-index.html) in module **qtjambi-qt3dquickscene2d**: - * [**qtjambi-qt3dquickscene2d-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/6.2.6/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/6.2.6/jar) + * [**qtjambi-qt3dquickscene2d-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/6.2.7/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/6.2.7/jar) ### QtJambi Plugins * JDBC Sql Plugin: - * [**qtjambi-plugin-qsqljdbc-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/6.2.6/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-common-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/6.2.6/jar) + * [**qtjambi-plugin-qsqljdbc-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/6.2.7/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-common-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/6.2.7/jar) ### QtJambi Tools * [QtJambi User Interface Compiler (UIC)](https://doc.qt.io/qt-6/designer-using-a-ui-file.html#compile-time-form-processing): - * [**qtjambi-uic-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/6.2.6/jar) - * [**qtjambi-uic-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/6.2.6/jar) - * [**qtjambi-uic-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/6.2.6/jar) - * [**qtjambi-uic-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/6.2.6/jar) - * [**qtjambi-uic-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x86/6.2.6/jar) - * [**qtjambi-uic-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x64/6.2.6/jar) - * [**qtjambi-uic-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm/6.2.6/jar) - * [**qtjambi-uic-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm64/6.2.6/jar) + * [**qtjambi-uic-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/6.2.7/jar) + * [**qtjambi-uic-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/6.2.7/jar) + * [**qtjambi-uic-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/6.2.7/jar) + * [**qtjambi-uic-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/6.2.7/jar) + * [**qtjambi-uic-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x86/6.2.7/jar) + * [**qtjambi-uic-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x64/6.2.7/jar) + * [**qtjambi-uic-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm/6.2.7/jar) + * [**qtjambi-uic-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm64/6.2.7/jar) * QtJambi Deployer: - * [**qtjambi-deployer-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/6.2.6/jar) - * [**qtjambi-deployer-native-windows-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/6.2.6/jar) - * [**qtjambi-deployer-native-linux-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/6.2.6/jar) - * [**qtjambi-deployer-native-macos-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/6.2.6/jar) - * [**qtjambi-deployer-native-android-x86-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/6.2.6/jar) - * [**qtjambi-deployer-native-android-x64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/6.2.6/jar) - * [**qtjambi-deployer-native-android-arm-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/6.2.6/jar) - * [**qtjambi-deployer-native-android-arm64-6.2.6.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/6.2.6/jar) + * [**qtjambi-deployer-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/6.2.7/jar) + * [**qtjambi-deployer-native-windows-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/6.2.7/jar) + * [**qtjambi-deployer-native-linux-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/6.2.7/jar) + * [**qtjambi-deployer-native-macos-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/6.2.7/jar) + * [**qtjambi-deployer-native-android-x86-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/6.2.7/jar) + * [**qtjambi-deployer-native-android-x64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/6.2.7/jar) + * [**qtjambi-deployer-native-android-arm-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/6.2.7/jar) + * [**qtjambi-deployer-native-android-arm64-6.2.7.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/6.2.7/jar) ## QtJambi for Qt 5.15 -QtJambi 5.15.8 requires Qt 5.15.x whereas x can be any patch version. +QtJambi 5.15.9 requires Qt 5.15.x whereas x can be any patch version. Following Qt 5.15 modules are provided by QtJambi: ### Qt5 Essentials * [QtCore](https://doc.qt.io/qt-5/qtcore-index.html), [QtGui](https://doc.qt.io/qt-5/qtgui-index.html) and [QtWidgets](https://doc.qt.io/qt-5/qtwidgets-index.html) in module **qtjambi**: - * [**qtjambi-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/5.15.8/jar) - * [**qtjambi-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/5.15.8/jar) - * [**qtjambi-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/5.15.8/jar) - * [**qtjambi-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/5.15.8/jar) - * [**qtjambi-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/5.15.8/jar) - * [**qtjambi-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/5.15.8/jar) - * [**qtjambi-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/5.15.8/jar) - * [**qtjambi-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/5.15.8/jar) + * [**qtjambi-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi/5.15.9/jar) + * [**qtjambi-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-windows-x64/5.15.9/jar) + * [**qtjambi-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-linux-x64/5.15.9/jar) + * [**qtjambi-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-macos/5.15.9/jar) + * [**qtjambi-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x86/5.15.9/jar) + * [**qtjambi-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-x64/5.15.9/jar) + * [**qtjambi-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm/5.15.9/jar) + * [**qtjambi-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-native-android-arm64/5.15.9/jar) * [QtMultimedia](https://doc.qt.io/qt-5/qtmultimedia-index.html) in module **qtjambi-multimedia**: - * [**qtjambi-multimedia-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/5.15.8/jar) - * [**qtjambi-multimedia-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/5.15.8/jar) - * [**qtjambi-multimedia-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/5.15.8/jar) - * [**qtjambi-multimedia-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/5.15.8/jar) - * [**qtjambi-multimedia-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/5.15.8/jar) - * [**qtjambi-multimedia-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/5.15.8/jar) - * [**qtjambi-multimedia-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/5.15.8/jar) - * [**qtjambi-multimedia-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/5.15.8/jar) + * [**qtjambi-multimedia-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia/5.15.9/jar) + * [**qtjambi-multimedia-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-windows-x64/5.15.9/jar) + * [**qtjambi-multimedia-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-linux-x64/5.15.9/jar) + * [**qtjambi-multimedia-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-macos/5.15.9/jar) + * [**qtjambi-multimedia-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x86/5.15.9/jar) + * [**qtjambi-multimedia-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-x64/5.15.9/jar) + * [**qtjambi-multimedia-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm/5.15.9/jar) + * [**qtjambi-multimedia-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimedia-native-android-arm64/5.15.9/jar) * [QtMultimediaWidgets](https://doc.qt.io/qt-5/qtmultimedia-index.html) in module **qtjambi-multimediawidgets**: - * [**qtjambi-multimediawidgets-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/5.15.8/jar) - * [**qtjambi-multimediawidgets-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/5.15.8/jar) + * [**qtjambi-multimediawidgets-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-windows-x64/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-linux-x64/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-macos/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x86/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-x64/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm/5.15.9/jar) + * [**qtjambi-multimediawidgets-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-multimediawidgets-native-android-arm64/5.15.9/jar) * [QtNetwork](https://doc.qt.io/qt-5/qtnetwork-index.html) in module **qtjambi-network**: - * [**qtjambi-network-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/5.15.8/jar) - * [**qtjambi-network-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/5.15.8/jar) - * [**qtjambi-network-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/5.15.8/jar) - * [**qtjambi-network-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/5.15.8/jar) - * [**qtjambi-network-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/5.15.8/jar) - * [**qtjambi-network-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/5.15.8/jar) - * [**qtjambi-network-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/5.15.8/jar) - * [**qtjambi-network-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/5.15.8/jar) + * [**qtjambi-network-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network/5.15.9/jar) + * [**qtjambi-network-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-windows-x64/5.15.9/jar) + * [**qtjambi-network-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-linux-x64/5.15.9/jar) + * [**qtjambi-network-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-macos/5.15.9/jar) + * [**qtjambi-network-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x86/5.15.9/jar) + * [**qtjambi-network-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-x64/5.15.9/jar) + * [**qtjambi-network-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm/5.15.9/jar) + * [**qtjambi-network-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-network-native-android-arm64/5.15.9/jar) * [QtQml](https://doc.qt.io/qt-5/qtqml-index.html) in module **qtjambi-qml**: - * [**qtjambi-qml-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/5.15.8/jar) - * [**qtjambi-qml-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/5.15.8/jar) - * [**qtjambi-qml-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/5.15.8/jar) - * [**qtjambi-qml-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/5.15.8/jar) - * [**qtjambi-qml-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/5.15.8/jar) - * [**qtjambi-qml-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/5.15.8/jar) - * [**qtjambi-qml-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/5.15.8/jar) - * [**qtjambi-qml-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/5.15.8/jar) + * [**qtjambi-qml-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml/5.15.9/jar) + * [**qtjambi-qml-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-windows-x64/5.15.9/jar) + * [**qtjambi-qml-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-linux-x64/5.15.9/jar) + * [**qtjambi-qml-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-macos/5.15.9/jar) + * [**qtjambi-qml-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x86/5.15.9/jar) + * [**qtjambi-qml-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-x64/5.15.9/jar) + * [**qtjambi-qml-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm/5.15.9/jar) + * [**qtjambi-qml-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qml-native-android-arm64/5.15.9/jar) * [QtQuick](https://doc.qt.io/qt-5/qtquick-index.html) in module **qtjambi-quick**: - * [**qtjambi-quick-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/5.15.8/jar) - * [**qtjambi-quick-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/5.15.8/jar) - * [**qtjambi-quick-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/5.15.8/jar) - * [**qtjambi-quick-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/5.15.8/jar) - * [**qtjambi-quick-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/5.15.8/jar) - * [**qtjambi-quick-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/5.15.8/jar) - * [**qtjambi-quick-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/5.15.8/jar) - * [**qtjambi-quick-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/5.15.8/jar) + * [**qtjambi-quick-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick/5.15.9/jar) + * [**qtjambi-quick-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-windows-x64/5.15.9/jar) + * [**qtjambi-quick-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-linux-x64/5.15.9/jar) + * [**qtjambi-quick-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-macos/5.15.9/jar) + * [**qtjambi-quick-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x86/5.15.9/jar) + * [**qtjambi-quick-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-x64/5.15.9/jar) + * [**qtjambi-quick-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm/5.15.9/jar) + * [**qtjambi-quick-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick-native-android-arm64/5.15.9/jar) * [QtQuickControls](https://doc.qt.io/qt-5/qtquickcontrols-index.html) in module **qtjambi-quickcontrols**: - * [**qtjambi-quickcontrols-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/5.15.8/jar) - * [**qtjambi-quickcontrols-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/5.15.8/jar) - * [**qtjambi-quickcontrols-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/5.15.8/jar) - * [**qtjambi-quickcontrols-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/5.15.8/jar) - * [**qtjambi-quickcontrols-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/5.15.8/jar) - * [**qtjambi-quickcontrols-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/5.15.8/jar) - * [**qtjambi-quickcontrols-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/5.15.8/jar) - * [**qtjambi-quickcontrols-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/5.15.8/jar) + * [**qtjambi-quickcontrols-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols/5.15.9/jar) + * [**qtjambi-quickcontrols-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-windows-x64/5.15.9/jar) + * [**qtjambi-quickcontrols-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-linux-x64/5.15.9/jar) + * [**qtjambi-quickcontrols-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-macos/5.15.9/jar) + * [**qtjambi-quickcontrols-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x86/5.15.9/jar) + * [**qtjambi-quickcontrols-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-x64/5.15.9/jar) + * [**qtjambi-quickcontrols-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm/5.15.9/jar) + * [**qtjambi-quickcontrols-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickcontrols-native-android-arm64/5.15.9/jar) * [QtQuickTest](https://doc.qt.io/qt-5/qtquicktest-index.html) in module **qtjambi-quicktest**: - * [**qtjambi-quicktest-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/5.15.8/jar) - * [**qtjambi-quicktest-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/5.15.8/jar) - * [**qtjambi-quicktest-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/5.15.8/jar) - * [**qtjambi-quicktest-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/5.15.8/jar) - * [**qtjambi-quicktest-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/5.15.8/jar) - * [**qtjambi-quicktest-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/5.15.8/jar) - * [**qtjambi-quicktest-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/5.15.8/jar) - * [**qtjambi-quicktest-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/5.15.8/jar) + * [**qtjambi-quicktest-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest/5.15.9/jar) + * [**qtjambi-quicktest-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-windows-x64/5.15.9/jar) + * [**qtjambi-quicktest-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-linux-x64/5.15.9/jar) + * [**qtjambi-quicktest-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-macos/5.15.9/jar) + * [**qtjambi-quicktest-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x86/5.15.9/jar) + * [**qtjambi-quicktest-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-x64/5.15.9/jar) + * [**qtjambi-quicktest-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm/5.15.9/jar) + * [**qtjambi-quicktest-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quicktest-native-android-arm64/5.15.9/jar) * [QtSql](https://doc.qt.io/qt-5/qtsql-index.html) in module **qtjambi-sql**: - * [**qtjambi-sql-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/5.15.8/jar) - * [**qtjambi-sql-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/5.15.8/jar) - * [**qtjambi-sql-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/5.15.8/jar) - * [**qtjambi-sql-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/5.15.8/jar) - * [**qtjambi-sql-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/5.15.8/jar) - * [**qtjambi-sql-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/5.15.8/jar) - * [**qtjambi-sql-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/5.15.8/jar) - * [**qtjambi-sql-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/5.15.8/jar) + * [**qtjambi-sql-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql/5.15.9/jar) + * [**qtjambi-sql-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-windows-x64/5.15.9/jar) + * [**qtjambi-sql-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-linux-x64/5.15.9/jar) + * [**qtjambi-sql-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-macos/5.15.9/jar) + * [**qtjambi-sql-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x86/5.15.9/jar) + * [**qtjambi-sql-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-x64/5.15.9/jar) + * [**qtjambi-sql-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm/5.15.9/jar) + * [**qtjambi-sql-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sql-native-android-arm64/5.15.9/jar) * [QtTest](https://doc.qt.io/qt-5/qttest-index.html) in module **qtjambi-test**: - * [**qtjambi-test-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/5.15.8/jar) - * [**qtjambi-test-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/5.15.8/jar) - * [**qtjambi-test-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/5.15.8/jar) - * [**qtjambi-test-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/5.15.8/jar) - * [**qtjambi-test-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/5.15.8/jar) - * [**qtjambi-test-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/5.15.8/jar) - * [**qtjambi-test-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/5.15.8/jar) - * [**qtjambi-test-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/5.15.8/jar) + * [**qtjambi-test-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test/5.15.9/jar) + * [**qtjambi-test-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-windows-x64/5.15.9/jar) + * [**qtjambi-test-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-linux-x64/5.15.9/jar) + * [**qtjambi-test-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-macos/5.15.9/jar) + * [**qtjambi-test-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x86/5.15.9/jar) + * [**qtjambi-test-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-x64/5.15.9/jar) + * [**qtjambi-test-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm/5.15.9/jar) + * [**qtjambi-test-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-test-native-android-arm64/5.15.9/jar) ### Qt5 Add-Ons * [QtBluetooth](https://doc.qt.io/qt-5/qtbluetooth-index.html) in module **qtjambi-bluetooth**: - * [**qtjambi-bluetooth-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/5.15.8/jar) - * [**qtjambi-bluetooth-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/5.15.8/jar) - * [**qtjambi-bluetooth-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/5.15.8/jar) - * [**qtjambi-bluetooth-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/5.15.8/jar) - * [**qtjambi-bluetooth-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/5.15.8/jar) - * [**qtjambi-bluetooth-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/5.15.8/jar) - * [**qtjambi-bluetooth-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/5.15.8/jar) - * [**qtjambi-bluetooth-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/5.15.8/jar) + * [**qtjambi-bluetooth-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth/5.15.9/jar) + * [**qtjambi-bluetooth-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-windows-x64/5.15.9/jar) + * [**qtjambi-bluetooth-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-linux-x64/5.15.9/jar) + * [**qtjambi-bluetooth-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-macos/5.15.9/jar) + * [**qtjambi-bluetooth-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x86/5.15.9/jar) + * [**qtjambi-bluetooth-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-x64/5.15.9/jar) + * [**qtjambi-bluetooth-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm/5.15.9/jar) + * [**qtjambi-bluetooth-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-bluetooth-native-android-arm64/5.15.9/jar) * [QtConcurrent](https://doc.qt.io/qt-5/qtconcurrent-index.html) in module **qtjambi-concurrent**: - * [**qtjambi-concurrent-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/5.15.8/jar) - * [**qtjambi-concurrent-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/5.15.8/jar) - * [**qtjambi-concurrent-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/5.15.8/jar) - * [**qtjambi-concurrent-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/5.15.8/jar) - * [**qtjambi-concurrent-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/5.15.8/jar) - * [**qtjambi-concurrent-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/5.15.8/jar) - * [**qtjambi-concurrent-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/5.15.8/jar) - * [**qtjambi-concurrent-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/5.15.8/jar) + * [**qtjambi-concurrent-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent/5.15.9/jar) + * [**qtjambi-concurrent-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-windows-x64/5.15.9/jar) + * [**qtjambi-concurrent-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-linux-x64/5.15.9/jar) + * [**qtjambi-concurrent-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-macos/5.15.9/jar) + * [**qtjambi-concurrent-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x86/5.15.9/jar) + * [**qtjambi-concurrent-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-x64/5.15.9/jar) + * [**qtjambi-concurrent-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm/5.15.9/jar) + * [**qtjambi-concurrent-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-concurrent-native-android-arm64/5.15.9/jar) * [QtDBus](https://doc.qt.io/qt-5/qtdbus-index.html) in module **qtjambi-dbus**: - * [**qtjambi-dbus-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/5.15.8/jar) - * [**qtjambi-dbus-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/5.15.8/jar) - * [**qtjambi-dbus-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/5.15.8/jar) - * [**qtjambi-dbus-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/5.15.8/jar) - * [**qtjambi-dbus-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x86/5.15.8/jar) - * [**qtjambi-dbus-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x64/5.15.8/jar) - * [**qtjambi-dbus-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm/5.15.8/jar) - * [**qtjambi-dbus-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm64/5.15.8/jar) + * [**qtjambi-dbus-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus/5.15.9/jar) + * [**qtjambi-dbus-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-windows-x64/5.15.9/jar) + * [**qtjambi-dbus-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-linux-x64/5.15.9/jar) + * [**qtjambi-dbus-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-macos/5.15.9/jar) + * [**qtjambi-dbus-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x86/5.15.9/jar) + * [**qtjambi-dbus-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-x64/5.15.9/jar) + * [**qtjambi-dbus-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm/5.15.9/jar) + * [**qtjambi-dbus-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-dbus-native-android-arm64/5.15.9/jar) * [QtGamepad](https://doc.qt.io/qt-5/qtgamepad-index.html) in module **qtjambi-gamepad**: - * [**qtjambi-gamepad-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad/5.15.8/jar) - * [**qtjambi-gamepad-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-windows-x64/5.15.8/jar) - * [**qtjambi-gamepad-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-linux-x64/5.15.8/jar) - * [**qtjambi-gamepad-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-macos/5.15.8/jar) - * [**qtjambi-gamepad-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x86/5.15.8/jar) - * [**qtjambi-gamepad-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x64/5.15.8/jar) - * [**qtjambi-gamepad-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm/5.15.8/jar) - * [**qtjambi-gamepad-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm64/5.15.8/jar) + * [**qtjambi-gamepad-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad/5.15.9/jar) + * [**qtjambi-gamepad-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-windows-x64/5.15.9/jar) + * [**qtjambi-gamepad-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-linux-x64/5.15.9/jar) + * [**qtjambi-gamepad-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-macos/5.15.9/jar) + * [**qtjambi-gamepad-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x86/5.15.9/jar) + * [**qtjambi-gamepad-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-x64/5.15.9/jar) + * [**qtjambi-gamepad-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm/5.15.9/jar) + * [**qtjambi-gamepad-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-gamepad-native-android-arm64/5.15.9/jar) * [QtHelp](https://doc.qt.io/qt-5/qthelp-index.html) in module **qtjambi-help**: - * [**qtjambi-help-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/5.15.8/jar) - * [**qtjambi-help-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/5.15.8/jar) - * [**qtjambi-help-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/5.15.8/jar) - * [**qtjambi-help-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/5.15.8/jar) - * [**qtjambi-help-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/5.15.8/jar) - * [**qtjambi-help-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/5.15.8/jar) - * [**qtjambi-help-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/5.15.8/jar) - * [**qtjambi-help-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/5.15.8/jar) + * [**qtjambi-help-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help/5.15.9/jar) + * [**qtjambi-help-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-windows-x64/5.15.9/jar) + * [**qtjambi-help-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-linux-x64/5.15.9/jar) + * [**qtjambi-help-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-macos/5.15.9/jar) + * [**qtjambi-help-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x86/5.15.9/jar) + * [**qtjambi-help-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-x64/5.15.9/jar) + * [**qtjambi-help-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm/5.15.9/jar) + * [**qtjambi-help-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-help-native-android-arm64/5.15.9/jar) * [QtLocation](https://doc.qt.io/qt-5/qtlocation-index.html) in module **qtjambi-location**: - * [**qtjambi-location-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location/5.15.8/jar) - * [**qtjambi-location-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-windows-x64/5.15.8/jar) - * [**qtjambi-location-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-linux-x64/5.15.8/jar) - * [**qtjambi-location-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-macos/5.15.8/jar) - * [**qtjambi-location-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x86/5.15.8/jar) - * [**qtjambi-location-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x64/5.15.8/jar) - * [**qtjambi-location-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm/5.15.8/jar) - * [**qtjambi-location-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm64/5.15.8/jar) + * [**qtjambi-location-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location/5.15.9/jar) + * [**qtjambi-location-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-windows-x64/5.15.9/jar) + * [**qtjambi-location-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-linux-x64/5.15.9/jar) + * [**qtjambi-location-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-macos/5.15.9/jar) + * [**qtjambi-location-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x86/5.15.9/jar) + * [**qtjambi-location-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-x64/5.15.9/jar) + * [**qtjambi-location-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm/5.15.9/jar) + * [**qtjambi-location-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-location-native-android-arm64/5.15.9/jar) * [QtNfc](https://doc.qt.io/qt-5/qtnfc-index.html) in module **qtjambi-nfc**: - * [**qtjambi-nfc-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/5.15.8/jar) - * [**qtjambi-nfc-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/5.15.8/jar) - * [**qtjambi-nfc-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/5.15.8/jar) - * [**qtjambi-nfc-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/5.15.8/jar) - * [**qtjambi-nfc-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/5.15.8/jar) - * [**qtjambi-nfc-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/5.15.8/jar) - * [**qtjambi-nfc-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/5.15.8/jar) - * [**qtjambi-nfc-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/5.15.8/jar) + * [**qtjambi-nfc-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc/5.15.9/jar) + * [**qtjambi-nfc-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-windows-x64/5.15.9/jar) + * [**qtjambi-nfc-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-linux-x64/5.15.9/jar) + * [**qtjambi-nfc-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-macos/5.15.9/jar) + * [**qtjambi-nfc-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x86/5.15.9/jar) + * [**qtjambi-nfc-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-x64/5.15.9/jar) + * [**qtjambi-nfc-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm/5.15.9/jar) + * [**qtjambi-nfc-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-nfc-native-android-arm64/5.15.9/jar) * [QtPositioning](https://doc.qt.io/qt-5/qtpositioning-index.html) in module **qtjambi-positioning**: - * [**qtjambi-positioning-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/5.15.8/jar) - * [**qtjambi-positioning-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/5.15.8/jar) - * [**qtjambi-positioning-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/5.15.8/jar) - * [**qtjambi-positioning-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/5.15.8/jar) - * [**qtjambi-positioning-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/5.15.8/jar) - * [**qtjambi-positioning-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/5.15.8/jar) - * [**qtjambi-positioning-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/5.15.8/jar) - * [**qtjambi-positioning-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/5.15.8/jar) + * [**qtjambi-positioning-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning/5.15.9/jar) + * [**qtjambi-positioning-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-windows-x64/5.15.9/jar) + * [**qtjambi-positioning-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-linux-x64/5.15.9/jar) + * [**qtjambi-positioning-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-macos/5.15.9/jar) + * [**qtjambi-positioning-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x86/5.15.9/jar) + * [**qtjambi-positioning-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-x64/5.15.9/jar) + * [**qtjambi-positioning-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm/5.15.9/jar) + * [**qtjambi-positioning-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-positioning-native-android-arm64/5.15.9/jar) * [QtPrintSupport](https://doc.qt.io/qt-5/qtprintsupport-index.html) in module **qtjambi-printsupport**: - * [**qtjambi-printsupport-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/5.15.8/jar) - * [**qtjambi-printsupport-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/5.15.8/jar) - * [**qtjambi-printsupport-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/5.15.8/jar) - * [**qtjambi-printsupport-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/5.15.8/jar) - * [**qtjambi-printsupport-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/5.15.8/jar) - * [**qtjambi-printsupport-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/5.15.8/jar) - * [**qtjambi-printsupport-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/5.15.8/jar) - * [**qtjambi-printsupport-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/5.15.8/jar) + * [**qtjambi-printsupport-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport/5.15.9/jar) + * [**qtjambi-printsupport-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-windows-x64/5.15.9/jar) + * [**qtjambi-printsupport-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-linux-x64/5.15.9/jar) + * [**qtjambi-printsupport-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-macos/5.15.9/jar) + * [**qtjambi-printsupport-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x86/5.15.9/jar) + * [**qtjambi-printsupport-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-x64/5.15.9/jar) + * [**qtjambi-printsupport-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm/5.15.9/jar) + * [**qtjambi-printsupport-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-printsupport-native-android-arm64/5.15.9/jar) * [QtPurchasing](https://doc.qt.io/qt-5/qtpurchasing-index.html) in module **qtjambi-purchasing**: - * [**qtjambi-purchasing-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing/5.15.8/jar) - * [**qtjambi-purchasing-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-windows-x64/5.15.8/jar) - * [**qtjambi-purchasing-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-linux-x64/5.15.8/jar) - * [**qtjambi-purchasing-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-macos/5.15.8/jar) - * [**qtjambi-purchasing-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x86/5.15.8/jar) - * [**qtjambi-purchasing-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x64/5.15.8/jar) - * [**qtjambi-purchasing-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm/5.15.8/jar) - * [**qtjambi-purchasing-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm64/5.15.8/jar) + * [**qtjambi-purchasing-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing/5.15.9/jar) + * [**qtjambi-purchasing-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-windows-x64/5.15.9/jar) + * [**qtjambi-purchasing-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-linux-x64/5.15.9/jar) + * [**qtjambi-purchasing-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-macos/5.15.9/jar) + * [**qtjambi-purchasing-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x86/5.15.9/jar) + * [**qtjambi-purchasing-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-x64/5.15.9/jar) + * [**qtjambi-purchasing-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm/5.15.9/jar) + * [**qtjambi-purchasing-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-purchasing-native-android-arm64/5.15.9/jar) * [QtQuickWidgets](https://doc.qt.io/qt-5/qtquickwidgets-module.html) in module **qtjambi-quickwidgets**: - * [**qtjambi-quickwidgets-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/5.15.8/jar) - * [**qtjambi-quickwidgets-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/5.15.8/jar) - * [**qtjambi-quickwidgets-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/5.15.8/jar) - * [**qtjambi-quickwidgets-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/5.15.8/jar) - * [**qtjambi-quickwidgets-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/5.15.8/jar) - * [**qtjambi-quickwidgets-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/5.15.8/jar) - * [**qtjambi-quickwidgets-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/5.15.8/jar) - * [**qtjambi-quickwidgets-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/5.15.8/jar) + * [**qtjambi-quickwidgets-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets/5.15.9/jar) + * [**qtjambi-quickwidgets-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-windows-x64/5.15.9/jar) + * [**qtjambi-quickwidgets-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-linux-x64/5.15.9/jar) + * [**qtjambi-quickwidgets-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-macos/5.15.9/jar) + * [**qtjambi-quickwidgets-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x86/5.15.9/jar) + * [**qtjambi-quickwidgets-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-x64/5.15.9/jar) + * [**qtjambi-quickwidgets-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm/5.15.9/jar) + * [**qtjambi-quickwidgets-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quickwidgets-native-android-arm64/5.15.9/jar) * [QtRemoteObjects](https://doc.qt.io/qt-5/qtremoteobjects-module.html) in module **qtjambi-remoteobjects**: - * [**qtjambi-remoteobjects-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/5.15.8/jar) - * [**qtjambi-remoteobjects-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/5.15.8/jar) - * [**qtjambi-remoteobjects-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/5.15.8/jar) - * [**qtjambi-remoteobjects-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/5.15.8/jar) - * [**qtjambi-remoteobjects-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/5.15.8/jar) - * [**qtjambi-remoteobjects-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/5.15.8/jar) - * [**qtjambi-remoteobjects-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/5.15.8/jar) - * [**qtjambi-remoteobjects-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/5.15.8/jar) + * [**qtjambi-remoteobjects-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects/5.15.9/jar) + * [**qtjambi-remoteobjects-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-windows-x64/5.15.9/jar) + * [**qtjambi-remoteobjects-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-linux-x64/5.15.9/jar) + * [**qtjambi-remoteobjects-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-macos/5.15.9/jar) + * [**qtjambi-remoteobjects-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x86/5.15.9/jar) + * [**qtjambi-remoteobjects-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-x64/5.15.9/jar) + * [**qtjambi-remoteobjects-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm/5.15.9/jar) + * [**qtjambi-remoteobjects-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-remoteobjects-native-android-arm64/5.15.9/jar) * [QtScript](https://doc.qt.io/qt-5/qtscript-module.html) in module **qtjambi-script**: - * [**qtjambi-script-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script/5.15.8/jar) - * [**qtjambi-script-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-windows-x64/5.15.8/jar) - * [**qtjambi-script-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-linux-x64/5.15.8/jar) - * [**qtjambi-script-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-macos/5.15.8/jar) - * [**qtjambi-script-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x86/5.15.8/jar) - * [**qtjambi-script-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x64/5.15.8/jar) - * [**qtjambi-script-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm/5.15.8/jar) - * [**qtjambi-script-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm64/5.15.8/jar) + * [**qtjambi-script-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script/5.15.9/jar) + * [**qtjambi-script-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-windows-x64/5.15.9/jar) + * [**qtjambi-script-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-linux-x64/5.15.9/jar) + * [**qtjambi-script-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-macos/5.15.9/jar) + * [**qtjambi-script-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x86/5.15.9/jar) + * [**qtjambi-script-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-x64/5.15.9/jar) + * [**qtjambi-script-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm/5.15.9/jar) + * [**qtjambi-script-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-script-native-android-arm64/5.15.9/jar) * [QtScriptTools](https://doc.qt.io/qt-5/qtscripttools-module.html) in module **qtjambi-scripttools**: - * [**qtjambi-scripttools-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools/5.15.8/jar) - * [**qtjambi-scripttools-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-windows-x64/5.15.8/jar) - * [**qtjambi-scripttools-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-linux-x64/5.15.8/jar) - * [**qtjambi-scripttools-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-macos/5.15.8/jar) - * [**qtjambi-scripttools-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x86/5.15.8/jar) - * [**qtjambi-scripttools-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x64/5.15.8/jar) - * [**qtjambi-scripttools-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm/5.15.8/jar) - * [**qtjambi-scripttools-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm64/5.15.8/jar) + * [**qtjambi-scripttools-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools/5.15.9/jar) + * [**qtjambi-scripttools-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-windows-x64/5.15.9/jar) + * [**qtjambi-scripttools-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-linux-x64/5.15.9/jar) + * [**qtjambi-scripttools-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-macos/5.15.9/jar) + * [**qtjambi-scripttools-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x86/5.15.9/jar) + * [**qtjambi-scripttools-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-x64/5.15.9/jar) + * [**qtjambi-scripttools-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm/5.15.9/jar) + * [**qtjambi-scripttools-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scripttools-native-android-arm64/5.15.9/jar) * [QtSCXML](https://doc.qt.io/qt-5/qtscxml-index.html) in module **qtjambi-scxml**: - * [**qtjambi-scxml-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/5.15.8/jar) - * [**qtjambi-scxml-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/5.15.8/jar) - * [**qtjambi-scxml-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/5.15.8/jar) - * [**qtjambi-scxml-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/5.15.8/jar) - * [**qtjambi-scxml-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/5.15.8/jar) - * [**qtjambi-scxml-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/5.15.8/jar) - * [**qtjambi-scxml-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/5.15.8/jar) - * [**qtjambi-scxml-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/5.15.8/jar) + * [**qtjambi-scxml-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml/5.15.9/jar) + * [**qtjambi-scxml-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-windows-x64/5.15.9/jar) + * [**qtjambi-scxml-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-linux-x64/5.15.9/jar) + * [**qtjambi-scxml-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-macos/5.15.9/jar) + * [**qtjambi-scxml-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x86/5.15.9/jar) + * [**qtjambi-scxml-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-x64/5.15.9/jar) + * [**qtjambi-scxml-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm/5.15.9/jar) + * [**qtjambi-scxml-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-scxml-native-android-arm64/5.15.9/jar) * [QtSensors](https://doc.qt.io/qt-5/qtsensors-index.html) in module **qtjambi-sensors**: - * [**qtjambi-sensors-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/5.15.8/jar) - * [**qtjambi-sensors-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/5.15.8/jar) - * [**qtjambi-sensors-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/5.15.8/jar) - * [**qtjambi-sensors-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/5.15.8/jar) - * [**qtjambi-sensors-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/5.15.8/jar) - * [**qtjambi-sensors-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/5.15.8/jar) - * [**qtjambi-sensors-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/5.15.8/jar) - * [**qtjambi-sensors-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/5.15.8/jar) + * [**qtjambi-sensors-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors/5.15.9/jar) + * [**qtjambi-sensors-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-windows-x64/5.15.9/jar) + * [**qtjambi-sensors-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-linux-x64/5.15.9/jar) + * [**qtjambi-sensors-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-macos/5.15.9/jar) + * [**qtjambi-sensors-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x86/5.15.9/jar) + * [**qtjambi-sensors-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-x64/5.15.9/jar) + * [**qtjambi-sensors-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm/5.15.9/jar) + * [**qtjambi-sensors-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-sensors-native-android-arm64/5.15.9/jar) * [QtSerialBus](https://doc.qt.io/qt-5/qtserialbus-index.html) in module **qtjambi-serialbus**: - * [**qtjambi-serialbus-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/5.15.8/jar) - * [**qtjambi-serialbus-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/5.15.8/jar) - * [**qtjambi-serialbus-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/5.15.8/jar) - * [**qtjambi-serialbus-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/5.15.8/jar) - * [**qtjambi-serialbus-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/5.15.8/jar) - * [**qtjambi-serialbus-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/5.15.8/jar) - * [**qtjambi-serialbus-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/5.15.8/jar) - * [**qtjambi-serialbus-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/5.15.8/jar) + * [**qtjambi-serialbus-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus/5.15.9/jar) + * [**qtjambi-serialbus-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-windows-x64/5.15.9/jar) + * [**qtjambi-serialbus-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-linux-x64/5.15.9/jar) + * [**qtjambi-serialbus-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-macos/5.15.9/jar) + * [**qtjambi-serialbus-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x86/5.15.9/jar) + * [**qtjambi-serialbus-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-x64/5.15.9/jar) + * [**qtjambi-serialbus-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm/5.15.9/jar) + * [**qtjambi-serialbus-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialbus-native-android-arm64/5.15.9/jar) * [QtSerialPort](https://doc.qt.io/qt-5/qtserialport-index.html) in module **qtjambi-serialport**: - * [**qtjambi-serialport-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/5.15.8/jar) - * [**qtjambi-serialport-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/5.15.8/jar) - * [**qtjambi-serialport-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/5.15.8/jar) - * [**qtjambi-serialport-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/5.15.8/jar) - * [**qtjambi-serialport-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/5.15.8/jar) - * [**qtjambi-serialport-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/5.15.8/jar) - * [**qtjambi-serialport-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/5.15.8/jar) - * [**qtjambi-serialport-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/5.15.8/jar) + * [**qtjambi-serialport-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport/5.15.9/jar) + * [**qtjambi-serialport-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-windows-x64/5.15.9/jar) + * [**qtjambi-serialport-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-linux-x64/5.15.9/jar) + * [**qtjambi-serialport-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-macos/5.15.9/jar) + * [**qtjambi-serialport-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x86/5.15.9/jar) + * [**qtjambi-serialport-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-x64/5.15.9/jar) + * [**qtjambi-serialport-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm/5.15.9/jar) + * [**qtjambi-serialport-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-serialport-native-android-arm64/5.15.9/jar) * [QtSvg](https://doc.qt.io/qt-5/qtsvg-index.html) in module **qtjambi-svg**: - * [**qtjambi-svg-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/5.15.8/jar) - * [**qtjambi-svg-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/5.15.8/jar) - * [**qtjambi-svg-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/5.15.8/jar) - * [**qtjambi-svg-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/5.15.8/jar) - * [**qtjambi-svg-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/5.15.8/jar) - * [**qtjambi-svg-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/5.15.8/jar) - * [**qtjambi-svg-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/5.15.8/jar) - * [**qtjambi-svg-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/5.15.8/jar) + * [**qtjambi-svg-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg/5.15.9/jar) + * [**qtjambi-svg-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-windows-x64/5.15.9/jar) + * [**qtjambi-svg-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-linux-x64/5.15.9/jar) + * [**qtjambi-svg-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-macos/5.15.9/jar) + * [**qtjambi-svg-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x86/5.15.9/jar) + * [**qtjambi-svg-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-x64/5.15.9/jar) + * [**qtjambi-svg-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm/5.15.9/jar) + * [**qtjambi-svg-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-svg-native-android-arm64/5.15.9/jar) * [QtTextToSpeech](https://doc.qt.io/qt-5/qtspeech-index.html) in module **qtjambi-texttospeech**: - * [**qtjambi-texttospeech-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech/5.15.8/jar) - * [**qtjambi-texttospeech-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-windows-x64/5.15.8/jar) - * [**qtjambi-texttospeech-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-linux-x64/5.15.8/jar) - * [**qtjambi-texttospeech-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-macos/5.15.8/jar) - * [**qtjambi-texttospeech-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x86/5.15.8/jar) - * [**qtjambi-texttospeech-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x64/5.15.8/jar) - * [**qtjambi-texttospeech-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm/5.15.8/jar) - * [**qtjambi-texttospeech-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm64/5.15.8/jar) + * [**qtjambi-texttospeech-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech/5.15.9/jar) + * [**qtjambi-texttospeech-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-windows-x64/5.15.9/jar) + * [**qtjambi-texttospeech-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-linux-x64/5.15.9/jar) + * [**qtjambi-texttospeech-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-macos/5.15.9/jar) + * [**qtjambi-texttospeech-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x86/5.15.9/jar) + * [**qtjambi-texttospeech-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-x64/5.15.9/jar) + * [**qtjambi-texttospeech-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm/5.15.9/jar) + * [**qtjambi-texttospeech-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-texttospeech-native-android-arm64/5.15.9/jar) * [QtUITools](https://doc.qt.io/qt-5/qtuitools-index.html) in module **qtjambi-uitools**: - * [**qtjambi-uitools-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/5.15.8/jar) - * [**qtjambi-uitools-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/5.15.8/jar) - * [**qtjambi-uitools-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/5.15.8/jar) - * [**qtjambi-uitools-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/5.15.8/jar) - * [**qtjambi-uitools-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/5.15.8/jar) - * [**qtjambi-uitools-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/5.15.8/jar) - * [**qtjambi-uitools-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/5.15.8/jar) - * [**qtjambi-uitools-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/5.15.8/jar) + * [**qtjambi-uitools-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools/5.15.9/jar) + * [**qtjambi-uitools-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-windows-x64/5.15.9/jar) + * [**qtjambi-uitools-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-linux-x64/5.15.9/jar) + * [**qtjambi-uitools-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-macos/5.15.9/jar) + * [**qtjambi-uitools-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x86/5.15.9/jar) + * [**qtjambi-uitools-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-x64/5.15.9/jar) + * [**qtjambi-uitools-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm/5.15.9/jar) + * [**qtjambi-uitools-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uitools-native-android-arm64/5.15.9/jar) * [QtWebChannel](https://doc.qt.io/qt-5/qtwebchannel-index.html) in module **qtjambi-webchannel**: - * [**qtjambi-webchannel-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/5.15.8/jar) - * [**qtjambi-webchannel-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/5.15.8/jar) - * [**qtjambi-webchannel-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/5.15.8/jar) - * [**qtjambi-webchannel-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/5.15.8/jar) - * [**qtjambi-webchannel-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/5.15.8/jar) - * [**qtjambi-webchannel-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/5.15.8/jar) - * [**qtjambi-webchannel-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/5.15.8/jar) - * [**qtjambi-webchannel-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/5.15.8/jar) + * [**qtjambi-webchannel-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel/5.15.9/jar) + * [**qtjambi-webchannel-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-windows-x64/5.15.9/jar) + * [**qtjambi-webchannel-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-linux-x64/5.15.9/jar) + * [**qtjambi-webchannel-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-macos/5.15.9/jar) + * [**qtjambi-webchannel-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x86/5.15.9/jar) + * [**qtjambi-webchannel-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-x64/5.15.9/jar) + * [**qtjambi-webchannel-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm/5.15.9/jar) + * [**qtjambi-webchannel-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webchannel-native-android-arm64/5.15.9/jar) * [QtWebEngineCore](https://doc.qt.io/qt-5/qtwebengine-index.html) in module **qtjambi-webenginecore**: - * [**qtjambi-webenginecore-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/5.15.8/jar) - * [**qtjambi-webenginecore-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/5.15.8/jar) - * [**qtjambi-webenginecore-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/5.15.8/jar) - * [**qtjambi-webenginecore-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/5.15.8/jar) + * [**qtjambi-webenginecore-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore/5.15.9/jar) + * [**qtjambi-webenginecore-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-windows-x64/5.15.9/jar) + * [**qtjambi-webenginecore-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-linux-x64/5.15.9/jar) + * [**qtjambi-webenginecore-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginecore-native-macos/5.15.9/jar) * [QtWebEngineWidgets](https://doc.qt.io/qt-5/qtwebengine-index.html) in module **qtjambi-webenginewidgets**: - * [**qtjambi-webenginewidgets-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/5.15.8/jar) - * [**qtjambi-webenginewidgets-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/5.15.8/jar) - * [**qtjambi-webenginewidgets-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/5.15.8/jar) - * [**qtjambi-webenginewidgets-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/5.15.8/jar) + * [**qtjambi-webenginewidgets-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets/5.15.9/jar) + * [**qtjambi-webenginewidgets-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-windows-x64/5.15.9/jar) + * [**qtjambi-webenginewidgets-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-linux-x64/5.15.9/jar) + * [**qtjambi-webenginewidgets-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webenginewidgets-native-macos/5.15.9/jar) * [QtWebEngine](https://doc.qt.io/qt-5/qtwebengine-index.html) in module **qtjambi-webengine**: - * [**qtjambi-webengine-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine/5.15.8/jar) - * [**qtjambi-webengine-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-windows-x64/5.15.8/jar) - * [**qtjambi-webengine-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-linux-x64/5.15.8/jar) - * [**qtjambi-webengine-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-macos/5.15.8/jar) + * [**qtjambi-webengine-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine/5.15.9/jar) + * [**qtjambi-webengine-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-windows-x64/5.15.9/jar) + * [**qtjambi-webengine-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-linux-x64/5.15.9/jar) + * [**qtjambi-webengine-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webengine-native-macos/5.15.9/jar) * [QtWebSockets](https://doc.qt.io/qt-5/qtwebsockets-index.html) in module **qtjambi-websockets**: - * [**qtjambi-websockets-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/5.15.8/jar) - * [**qtjambi-websockets-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/5.15.8/jar) - * [**qtjambi-websockets-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/5.15.8/jar) - * [**qtjambi-websockets-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/5.15.8/jar) - * [**qtjambi-websockets-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/5.15.8/jar) - * [**qtjambi-websockets-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/5.15.8/jar) - * [**qtjambi-websockets-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/5.15.8/jar) - * [**qtjambi-websockets-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/5.15.8/jar) + * [**qtjambi-websockets-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets/5.15.9/jar) + * [**qtjambi-websockets-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-windows-x64/5.15.9/jar) + * [**qtjambi-websockets-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-linux-x64/5.15.9/jar) + * [**qtjambi-websockets-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-macos/5.15.9/jar) + * [**qtjambi-websockets-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x86/5.15.9/jar) + * [**qtjambi-websockets-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-x64/5.15.9/jar) + * [**qtjambi-websockets-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm/5.15.9/jar) + * [**qtjambi-websockets-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-websockets-native-android-arm64/5.15.9/jar) * [QtWebView](https://doc.qt.io/qt-5/qtwebview-index.html) in module **qtjambi-webview**: - * [**qtjambi-webview-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/5.15.8/jar) - * [**qtjambi-webview-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/5.15.8/jar) - * [**qtjambi-webview-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/5.15.8/jar) - * [**qtjambi-webview-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/5.15.8/jar) - * [**qtjambi-webview-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/5.15.8/jar) - * [**qtjambi-webview-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/5.15.8/jar) - * [**qtjambi-webview-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/5.15.8/jar) - * [**qtjambi-webview-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/5.15.8/jar) + * [**qtjambi-webview-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview/5.15.9/jar) + * [**qtjambi-webview-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-windows-x64/5.15.9/jar) + * [**qtjambi-webview-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-linux-x64/5.15.9/jar) + * [**qtjambi-webview-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-macos/5.15.9/jar) + * [**qtjambi-webview-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x86/5.15.9/jar) + * [**qtjambi-webview-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-x64/5.15.9/jar) + * [**qtjambi-webview-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm/5.15.9/jar) + * [**qtjambi-webview-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-webview-native-android-arm64/5.15.9/jar) * [QtXml](https://doc.qt.io/qt-5/qtxml-index.html) in module **qtjambi-xml**: - * [**qtjambi-xml-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/5.15.8/jar) - * [**qtjambi-xml-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/5.15.8/jar) - * [**qtjambi-xml-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/5.15.8/jar) - * [**qtjambi-xml-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/5.15.8/jar) - * [**qtjambi-xml-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/5.15.8/jar) - * [**qtjambi-xml-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/5.15.8/jar) - * [**qtjambi-xml-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/5.15.8/jar) - * [**qtjambi-xml-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/5.15.8/jar) + * [**qtjambi-xml-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml/5.15.9/jar) + * [**qtjambi-xml-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-windows-x64/5.15.9/jar) + * [**qtjambi-xml-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-linux-x64/5.15.9/jar) + * [**qtjambi-xml-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-macos/5.15.9/jar) + * [**qtjambi-xml-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x86/5.15.9/jar) + * [**qtjambi-xml-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-x64/5.15.9/jar) + * [**qtjambi-xml-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm/5.15.9/jar) + * [**qtjambi-xml-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xml-native-android-arm64/5.15.9/jar) * [QtXmlPatterns](https://doc.qt.io/qt-5/qtxmlpatterns-index.html) in module **qtjambi-xmlpatterns**: - * [**qtjambi-xmlpatterns-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-windows-x64/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-linux-x64/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-macos/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x86/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x64/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm/5.15.8/jar) - * [**qtjambi-xmlpatterns-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm64/5.15.8/jar) + * [**qtjambi-xmlpatterns-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-windows-x64/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-linux-x64/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-macos/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x86/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-x64/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm/5.15.9/jar) + * [**qtjambi-xmlpatterns-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-xmlpatterns-native-android-arm64/5.15.9/jar) * [QtCharts](https://doc.qt.io/qt-5/qtcharts-index.html) in module **qtjambi-charts**: - * [**qtjambi-charts-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/5.15.8/jar) - * [**qtjambi-charts-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/5.15.8/jar) - * [**qtjambi-charts-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/5.15.8/jar) - * [**qtjambi-charts-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/5.15.8/jar) - * [**qtjambi-charts-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/5.15.8/jar) - * [**qtjambi-charts-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/5.15.8/jar) - * [**qtjambi-charts-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/5.15.8/jar) - * [**qtjambi-charts-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/5.15.8/jar) + * [**qtjambi-charts-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts/5.15.9/jar) + * [**qtjambi-charts-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-windows-x64/5.15.9/jar) + * [**qtjambi-charts-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-linux-x64/5.15.9/jar) + * [**qtjambi-charts-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-macos/5.15.9/jar) + * [**qtjambi-charts-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x86/5.15.9/jar) + * [**qtjambi-charts-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-x64/5.15.9/jar) + * [**qtjambi-charts-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm/5.15.9/jar) + * [**qtjambi-charts-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-charts-native-android-arm64/5.15.9/jar) * [QtDataVisualization](https://doc.qt.io/qt-5/qtdatavisualization-index.html) in module **qtjambi-datavisualization**: - * [**qtjambi-datavisualization-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/5.15.8/jar) - * [**qtjambi-datavisualization-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/5.15.8/jar) - * [**qtjambi-datavisualization-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/5.15.8/jar) - * [**qtjambi-datavisualization-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/5.15.8/jar) - * [**qtjambi-datavisualization-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/5.15.8/jar) - * [**qtjambi-datavisualization-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/5.15.8/jar) - * [**qtjambi-datavisualization-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/5.15.8/jar) - * [**qtjambi-datavisualization-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/5.15.8/jar) + * [**qtjambi-datavisualization-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization/5.15.9/jar) + * [**qtjambi-datavisualization-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-windows-x64/5.15.9/jar) + * [**qtjambi-datavisualization-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-linux-x64/5.15.9/jar) + * [**qtjambi-datavisualization-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-macos/5.15.9/jar) + * [**qtjambi-datavisualization-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x86/5.15.9/jar) + * [**qtjambi-datavisualization-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-x64/5.15.9/jar) + * [**qtjambi-datavisualization-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm/5.15.9/jar) + * [**qtjambi-datavisualization-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-datavisualization-native-android-arm64/5.15.9/jar) * [QtNetworkAuth](https://doc.qt.io/qt-5/qtnetworkauth-index.html) in module **qtjambi-networkauth**: - * [**qtjambi-networkauth-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/5.15.8/jar) - * [**qtjambi-networkauth-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/5.15.8/jar) - * [**qtjambi-networkauth-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/5.15.8/jar) - * [**qtjambi-networkauth-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/5.15.8/jar) - * [**qtjambi-networkauth-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/5.15.8/jar) - * [**qtjambi-networkauth-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/5.15.8/jar) - * [**qtjambi-networkauth-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/5.15.8/jar) - * [**qtjambi-networkauth-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/5.15.8/jar) + * [**qtjambi-networkauth-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth/5.15.9/jar) + * [**qtjambi-networkauth-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-windows-x64/5.15.9/jar) + * [**qtjambi-networkauth-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-linux-x64/5.15.9/jar) + * [**qtjambi-networkauth-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-macos/5.15.9/jar) + * [**qtjambi-networkauth-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x86/5.15.9/jar) + * [**qtjambi-networkauth-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-x64/5.15.9/jar) + * [**qtjambi-networkauth-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm/5.15.9/jar) + * [**qtjambi-networkauth-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-networkauth-native-android-arm64/5.15.9/jar) * [QtVirtualKeyboard](https://doc.qt.io/qt-5/qtvirtualkeyboard-index.html) in module **qtjambi-virtualkeyboard**: - * [**qtjambi-virtualkeyboard-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/5.15.8/jar) - * [**qtjambi-virtualkeyboard-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/5.15.8/jar) + * [**qtjambi-virtualkeyboard-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-windows-x64/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-linux-x64/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-macos/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x86/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-x64/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm/5.15.9/jar) + * [**qtjambi-virtualkeyboard-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-virtualkeyboard-native-android-arm64/5.15.9/jar) * [QtQuick3D](https://doc.qt.io/qt-5/qtquick3d-index.html) in module **qtjambi-quick3d**: - * [**qtjambi-quick3d-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/5.15.8/jar) - * [**qtjambi-quick3d-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/5.15.8/jar) - * [**qtjambi-quick3d-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/5.15.8/jar) - * [**qtjambi-quick3d-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/5.15.8/jar) - * [**qtjambi-quick3d-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/5.15.8/jar) - * [**qtjambi-quick3d-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/5.15.8/jar) - * [**qtjambi-quick3d-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/5.15.8/jar) - * [**qtjambi-quick3d-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/5.15.8/jar) + * [**qtjambi-quick3d-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d/5.15.9/jar) + * [**qtjambi-quick3d-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-windows-x64/5.15.9/jar) + * [**qtjambi-quick3d-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-linux-x64/5.15.9/jar) + * [**qtjambi-quick3d-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-macos/5.15.9/jar) + * [**qtjambi-quick3d-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x86/5.15.9/jar) + * [**qtjambi-quick3d-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-x64/5.15.9/jar) + * [**qtjambi-quick3d-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm/5.15.9/jar) + * [**qtjambi-quick3d-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-quick3d-native-android-arm64/5.15.9/jar) * [QtDesigner](https://doc.qt.io/qt-5/qtdesigner-manual.html) in module **qtjambi-designer**: - * [**qtjambi-designer-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/5.15.8/jar) - * [**qtjambi-designer-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/5.15.8/jar) - * [**qtjambi-designer-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/5.15.8/jar) - * [**qtjambi-designer-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/5.15.8/jar) - * [**qtjambi-designer-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/5.15.8/jar) - * [**qtjambi-designer-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/5.15.8/jar) - * [**qtjambi-designer-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/5.15.8/jar) - * [**qtjambi-designer-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/5.15.8/jar) + * [**qtjambi-designer-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer/5.15.9/jar) + * [**qtjambi-designer-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-windows-x64/5.15.9/jar) + * [**qtjambi-designer-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-linux-x64/5.15.9/jar) + * [**qtjambi-designer-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-macos/5.15.9/jar) + * [**qtjambi-designer-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x86/5.15.9/jar) + * [**qtjambi-designer-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-x64/5.15.9/jar) + * [**qtjambi-designer-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm/5.15.9/jar) + * [**qtjambi-designer-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-designer-native-android-arm64/5.15.9/jar) ### Qt5 Platform-dependent Add-Ons * [Active Qt (Windows only)](https://doc.qt.io/qt-5/activeqt-manual.html) in module **qtjambi-activex**: - * [**qtjambi-activex-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/5.15.8/jar) - * [**qtjambi-activex-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/5.15.8/jar) + * [**qtjambi-activex-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex/5.15.9/jar) + * [**qtjambi-activex-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-activex-native-windows-x64/5.15.9/jar) * [QtWinExtras (Windows only)](https://doc.qt.io/qt-5/qtwinextras-index.html) in module **qtjambi-winextras**: - * [**qtjambi-winextras-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras/5.15.8/jar) - * [**qtjambi-winextras-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras-native-windows-x64/5.15.8/jar) + * [**qtjambi-winextras-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras/5.15.9/jar) + * [**qtjambi-winextras-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-winextras-native-windows-x64/5.15.9/jar) * [QtMacExtras (macOS only)](https://doc.qt.io/qt-5/qtmacextras-index.html) in module **qtjambi-macextras**: - * [**qtjambi-macextras-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras/5.15.8/jar) - * [**qtjambi-macextras-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras-native-macos/5.15.8/jar) + * [**qtjambi-macextras-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras/5.15.9/jar) + * [**qtjambi-macextras-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-macextras-native-macos/5.15.9/jar) * [QtX11Extras (Linux only)](https://doc.qt.io/qt-5/qtx11extras-index.html) in module **qtjambi-x11extras**: - * [**qtjambi-x11extras-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras/5.15.8/jar) - * [**qtjambi-x11extras-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras-native-linux-x64/5.15.8/jar) + * [**qtjambi-x11extras-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras/5.15.9/jar) + * [**qtjambi-x11extras-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-x11extras-native-linux-x64/5.15.9/jar) ### Qt3D * [Qt3DCore](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dcore**: - * [**qtjambi-qt3dcore-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/5.15.8/jar) - * [**qtjambi-qt3dcore-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dcore-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dcore-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/5.15.8/jar) - * [**qtjambi-qt3dcore-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dcore-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dcore-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dcore-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dcore-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore/5.15.9/jar) + * [**qtjambi-qt3dcore-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dcore-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dcore-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-macos/5.15.9/jar) + * [**qtjambi-qt3dcore-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dcore-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dcore-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dcore-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dcore-native-android-arm64/5.15.9/jar) * [Qt3DRender](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3drender**: - * [**qtjambi-qt3drender-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/5.15.8/jar) - * [**qtjambi-qt3drender-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3drender-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3drender-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/5.15.8/jar) - * [**qtjambi-qt3drender-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3drender-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3drender-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3drender-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3drender-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender/5.15.9/jar) + * [**qtjambi-qt3drender-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3drender-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3drender-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-macos/5.15.9/jar) + * [**qtjambi-qt3drender-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3drender-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3drender-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3drender-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3drender-native-android-arm64/5.15.9/jar) * [Qt3DAnimation](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3danimation**: - * [**qtjambi-qt3danimation-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/5.15.8/jar) - * [**qtjambi-qt3danimation-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3danimation-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3danimation-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/5.15.8/jar) - * [**qtjambi-qt3danimation-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3danimation-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3danimation-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3danimation-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3danimation-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation/5.15.9/jar) + * [**qtjambi-qt3danimation-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3danimation-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3danimation-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-macos/5.15.9/jar) + * [**qtjambi-qt3danimation-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3danimation-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3danimation-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3danimation-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3danimation-native-android-arm64/5.15.9/jar) * [Qt3DExtras](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dextras**: - * [**qtjambi-qt3dextras-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/5.15.8/jar) - * [**qtjambi-qt3dextras-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dextras-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dextras-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/5.15.8/jar) - * [**qtjambi-qt3dextras-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dextras-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dextras-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dextras-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dextras-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras/5.15.9/jar) + * [**qtjambi-qt3dextras-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dextras-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dextras-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-macos/5.15.9/jar) + * [**qtjambi-qt3dextras-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dextras-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dextras-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dextras-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dextras-native-android-arm64/5.15.9/jar) * [Qt3DInput](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dinput**: - * [**qtjambi-qt3dinput-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/5.15.8/jar) - * [**qtjambi-qt3dinput-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dinput-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dinput-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/5.15.8/jar) - * [**qtjambi-qt3dinput-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dinput-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dinput-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dinput-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dinput-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput/5.15.9/jar) + * [**qtjambi-qt3dinput-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dinput-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dinput-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-macos/5.15.9/jar) + * [**qtjambi-qt3dinput-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dinput-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dinput-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dinput-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dinput-native-android-arm64/5.15.9/jar) * [Qt3DLogic](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dlogic**: - * [**qtjambi-qt3dlogic-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dlogic-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dlogic-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-macos/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dlogic-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dlogic-native-android-arm64/5.15.9/jar) * [Qt3DQuick](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dquick**: - * [**qtjambi-qt3dquick-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/5.15.8/jar) - * [**qtjambi-qt3dquick-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dquick-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dquick-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/5.15.8/jar) - * [**qtjambi-qt3dquick-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dquick-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dquick-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dquick-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dquick-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick/5.15.9/jar) + * [**qtjambi-qt3dquick-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dquick-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dquick-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-macos/5.15.9/jar) + * [**qtjambi-qt3dquick-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dquick-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dquick-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dquick-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquick-native-android-arm64/5.15.9/jar) * [Qt3DQuickExtras](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dquickextras**: - * [**qtjambi-qt3dquickextras-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dquickextras-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dquickextras-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-macos/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dquickextras-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickextras-native-android-arm64/5.15.9/jar) * [Qt3DQuickScene3D](https://doc.qt.io/qt-5/qt3d-index.html) in module **qtjambi-qt3dquickscene2d**: - * [**qtjambi-qt3dquickscene2d-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/5.15.8/jar) - * [**qtjambi-qt3dquickscene2d-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/5.15.8/jar) + * [**qtjambi-qt3dquickscene2d-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-windows-x64/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-linux-x64/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-macos/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x86/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-x64/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm/5.15.9/jar) + * [**qtjambi-qt3dquickscene2d-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-qt3dquickscene2d-native-android-arm64/5.15.9/jar) ### QtJambi Plugins * JDBC Sql Plugin: - * [**qtjambi-plugin-qsqljdbc-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/5.15.8/jar) - * [**qtjambi-plugin-qsqljdbc-native-android-common-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/5.15.8/jar) + * [**qtjambi-plugin-qsqljdbc-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-windows-x64/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-linux-x64/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-macos/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x86/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-x64/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-arm64/5.15.9/jar) + * [**qtjambi-plugin-qsqljdbc-native-android-common-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-plugin-qsqljdbc-native-android-common/5.15.9/jar) ### QtJambi Tools * [QtJambi User Interface Compiler (UIC)](https://doc.qt.io/qt-5/designer-using-a-ui-file.html#compile-time-form-processing): - * [**qtjambi-uic-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/5.15.8/jar) - * [**qtjambi-uic-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/5.15.8/jar) - * [**qtjambi-uic-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/5.15.8/jar) - * [**qtjambi-uic-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/5.15.8/jar) - * [**qtjambi-uic-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x86/5.15.8/jar) - * [**qtjambi-uic-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x64/5.15.8/jar) - * [**qtjambi-uic-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm/5.15.8/jar) - * [**qtjambi-uic-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm64/5.15.8/jar) + * [**qtjambi-uic-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic/5.15.9/jar) + * [**qtjambi-uic-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-windows-x64/5.15.9/jar) + * [**qtjambi-uic-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-linux-x64/5.15.9/jar) + * [**qtjambi-uic-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-macos/5.15.9/jar) + * [**qtjambi-uic-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x86/5.15.9/jar) + * [**qtjambi-uic-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-x64/5.15.9/jar) + * [**qtjambi-uic-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm/5.15.9/jar) + * [**qtjambi-uic-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-uic-native-android-arm64/5.15.9/jar) * QtJambi Deployer: - * [**qtjambi-deployer-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/5.15.8/jar) - * [**qtjambi-deployer-native-windows-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/5.15.8/jar) - * [**qtjambi-deployer-native-linux-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/5.15.8/jar) - * [**qtjambi-deployer-native-macos-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/5.15.8/jar) - * [**qtjambi-deployer-native-android-x86-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/5.15.8/jar) - * [**qtjambi-deployer-native-android-x64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/5.15.8/jar) - * [**qtjambi-deployer-native-android-arm-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/5.15.8/jar) - * [**qtjambi-deployer-native-android-arm64-5.15.8.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/5.15.8/jar) + * [**qtjambi-deployer-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer/5.15.9/jar) + * [**qtjambi-deployer-native-windows-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-windows-x64/5.15.9/jar) + * [**qtjambi-deployer-native-linux-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-linux-x64/5.15.9/jar) + * [**qtjambi-deployer-native-macos-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-macos/5.15.9/jar) + * [**qtjambi-deployer-native-android-x86-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x86/5.15.9/jar) + * [**qtjambi-deployer-native-android-x64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-x64/5.15.9/jar) + * [**qtjambi-deployer-native-android-arm-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm/5.15.9/jar) + * [**qtjambi-deployer-native-android-arm64-5.15.9.jar**](https://search.maven.org/artifact/io.qtjambi/qtjambi-deployer-native-android-arm64/5.15.9/jar) diff --git a/www/Whats-New.md b/www/Whats-New.md index 282abf38..de6dbb71 100644 --- a/www/Whats-New.md +++ b/www/Whats-New.md @@ -1,20 +1,21 @@ -# What's new in QtJambi 6.3.3 / 6.2.6 / 5.15.8 +# What's new in QtJambi 6.3.4 / 6.2.7 / 5.15.9 ## Bugfixes Solved issues: -* [Issue 69](../../../issues/69): Signal connection does not work as expected with generics -* [Issue 66](../../../issues/66): raiseQThreadAffinityException cores java instead of throwing an exception (blindfixed) -* [Issue 64](../../../issues/64): QtJambi build failed -* [Issue 63](../../../issues/63): Program cannot be started -* [Issue 62](../../../issues/62): symbol lookup error -* [Issue 60](../../../issues/60): Deployment Icon not working in windows (feature removed) +* [Issue 73](../../../issues/73): Add support for QQuickWebEngineView +* [Issue 72](../../../issues/72): Web page runJavascript always crashes jvm when you try to use the returned object +* [Issue 71](../../../issues/71): Java DeferredDelete throws thread affinity exception, one of threads is undefined +* Solved bug in converting QVariantMap ## New Features -* Class `io.qt.core.QString` now makes all data conversion and formatting features available in Java. +* Added QQmlEngine template method: `singletonInstance` +* Added QJSEngine template methods: `fromScriptValue`, `toScriptValue`, `fromManagedValue`, `toManagedValue` +* Added functions to QtQml: `qmlTypeId`, `qjsEngine` +* Added functions to QtWebEngineQuick: `toWebEngineSettings`, `toWebEngineScriptCollection` * Qt 6.4 ready. ## Compatibility -QtJambi 6.3.3, 6.2.6 and 5.15.8 are source- and binary-compatible to its predecessor releases. +QtJambi 6.3.4, 6.2.7 and 5.15.9 are source- and binary-compatible to its predecessor releases.