Pass -norc on the command line to not load ~/.eclrc on startup.
Since :eql and :eql5 are in *features*, you can use e.g. #+eql / #-eql5 as usual.
To run a Lisp file directly, do e.g. eql5 examples/5-colliding-mice -qtpl.
See the EQL UI (command eql -qgui) for a complete list of all supported classes and functions.
In the above mentioned UI you find a "Select" button, allowing you to select any Qt widget (even in other main widgets), if previously loaded from the UI command line. After selecting a widget, the parameter qsel:*q* will be set to it.
See command line option -qtpl for a top-level processing Qt events (see also readline note in ../README.txt).
It uses a simple GUI dialog for debug input (needed because read runs in its own thread).
On eventual print output, you won't see a fresh prompt, but the REPL will remain ready for input.
You can set this option permanently by adding this in ~./eclrc:
#+eql (setf eql:*qtpl* t)
If you want to use temporary Qt objects, you can use the qlet convenience macro (see the function list). It's a let* variant for Qt objects, deleting them when leaving its body.
No universal GC (garbage collection) for Qt objects:
qlet macro, which are deleted when leaving the qlet body.
qlet (instead of qnew) if you only need a local Qt object inside a function (e.g. QPainter, QVariant, QRegExp).
QFont) returned by the functions qget and qfun.#<QFont 0x9243840 GC>.
Enumeration example: |Qt.AlignCenter|.
So, all enumerations are defined as constants, using case preserving symbol names (allowing convenient tab completion in Emacs).
Errors in EQL functions don't break into the debugger; if you want them to do so, set the variable eql:*break-on-errors* to T.
(So the choice is left to you: depending on the situation, either option may be more convenient than the other.)
The currently available Qt5 Modules (see qrequire) are:
:help :multimedia :network :quick :sql :svg :webengine :webkit
(module :opengl is obsolete, see QOpenGLWidget etc.)
If you want to use CLOS together with qt-object instances (which are of type struct), see examples X-extras/CLOS-encapsulation.lisp and 5-colliding-mice.lisp.
So there's a simple way to use either defclass or defstruct to encapsulate a qt-object.
If you're interested in embedding EQL in existing Qt/C++ projects, see example in directory Qt_EQL/ (which can be used together with Slime).
See also plugin example in directory Qt_EQL_plugin/.
The necessary parsing for generating the src/gen/* files is done by parsing the Qt documentation. See helper/README.txt if you want do it yourself.