mirror of
https://gitlab.com/eql/lqml.git
synced 2025-12-21 17:40:35 -08:00
19 lines
842 B
Markdown
19 lines
842 B
Markdown
|
|
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
|
|
`QTimer::singleShot(0, tmp, &QObject::deleteLater)` on it, which should be
|
|
sufficient in any circumstance. The additional timer is needed here because of
|
|
`SplitView`, which delays certain events.
|