JuliaCon 2020 (times are in UTC)

Using Julia for User Interface Design

Using Julia to create a Domain Specific Language (DSL) suitable for editing graphical user interfaces. In this example our DSL can be used to edit .ui files produced by the Qt Creator GUI design tool for the Qt GUI toolkit.


The Qt GUI toolkit is used to make large and complex user interfaces. Unfortunately these become hard to maintain and change whether they are written in C++ or designed visually with the Qt Creator IDE. Here we show a DSL implemented in the QtUIParser package, which allow you to convert back and forth between .ui files and .jl files. Hence you can design a UI in Qt Creator. Convert to Julia UI DSL. Modify it in the Julia REPL and then take it back in Qt creator for further processing.

That this targets Qt, is not important. The principles could be applied to any GUI toolkit, where UIs are stored in an XML, JSON or similar format.