I believe it can be done using JNI (Java Native Interface) calls. There is also Jambi
QT Jambi and a good article about it in javaworld Java desktop development with Qt Jambi
and here is QT Jambi documentation
There was one called Qt Jambi, but it was discontinued in 2012. Development continued for a bit on GitHub, but the project appears completely dead at this point. As of 2018-07-16, there are no officially-supported JVM bindings for Qt.
Here are some useful tutorial for you: