JuliaGraphics / QML.jl

Build Qt6 QML interfaces for Julia programs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Signals/slots

timholy opened this issue · comments

Hi Bart,

One thing I forgot to mention when we chatted at JuliaCon: I remember from your talk you discussed a signals/slots library for Julia. I'd encourage you to take a look at https://github.com/JuliaGizmos/Observables.jl as a potential candidate. It's the foundation for WebIO.jl, and @shashi has made it (or plans to make it) the base for both Juno and IJulia; I'm likely to provide a GtkObservables package similar to GtkReactive. One of the really cool things I just learned about @shashi's work is that he also has Javascript support for Observables, and he apparently has it set up so that "transport" between JS and Julia is minimized (if there are both JS and Julia listeners, then signals stay on the "side" that they start from whenever possible).

There may be future changes coming (see its issue 1), but apparently it's already working well for Shashi. There may be some merit in getting all the various GUI solutions using a common framework; if you're interested but want help, I'd be willing to pitch in as it would also give me an excuse to play with QML.

@barche unfortunately I missed your talk! :( Would love to meet you if you're still around!

Yes I am, in Stephen's Lounge :)

@timholy @shashi The new observables branch contains work-in-progress to make this happen. See the example in the new readme here:
https://github.com/barche/QML.jl/tree/observables#observable-properties

Working examples currently are observable.jl and gui.jl. I also took this opportunity to change the way context properties are set (keywords for FileIO.load now) and to remove some now obsolete macros. Comments welcome of course :)

Perhaps this can be closed now that 0.8 is released?