lqml/examples/cl-repl/cpp
2022-04-22 18:09:18 +02:00
..
qt.cpp add example 'cl-repl' 2022-04-09 19:12:45 +02:00
qt.h add example 'cl-repl' 2022-04-09 19:12:45 +02:00
qt.pro revision 2022-04-22 18:09:18 +02:00
readme.md revisions 2022-04-12 16:09:24 +02:00

Info

This demonstrates how to extend your app with Qt code callable from Lisp.

Please note that we only need QVariant arguments, which can also hold pointers which are type checked when retrieving the pointer value (that is, the pointer is a nullptr if the type doesn't match).

It also shows how to extend non QObject classes with a QObject, in order to store their pointer values in a QVariant.

If we need to return a non QObject value to Lisp (not a pointer or primitive value, but a class like TextBlock in this example, that is a QTextBlock extended with a QObject), a new instance is created on the heap, calling deleteLater() on it, which should be sufficient in most cases.