What's new in QML.jl | Janssens | JuliaCon 2024
Автор: The Julia Programming Language
Загружено: 2024-10-11
Просмотров: 873
Описание:
What's new in QML.jl by Bart Janssens
PreTalx: https://pretalx.com/juliacon2024/talk...
GitHub: https://github.com/JuliaGraphics/QML.jl
The [Qt QML language](https://doc.qt.io/qt-6.5/qmlapplicati...) allows users to describe graphical user interfaces using a declarative programming style, similar in style to a JSON file. A simple example for showing a rectangle is:
```qml
import QtQuick
import QtQuick.Controls
ApplicationWindow {
Rectangle {
width: 100; height: 100; color: "red"
Text {
anchors.centerIn: parent
text: "Hello!"
}
}
}
```
The QML.jl package offers the infrastructure to launch the GUI from within Julia, and link Julia functions and values to elements of the GUI. This makes it possible to e.g. execute a Julia function when clicking a button, or show the output of a plot command in the GUI.
Since the previous presentation of QML.jl at JuliaCon 2020 Qt has been upgraded to version 6, and QML.jl now supports this. Aside from overall improvements in quality and performance, this change also enables full compatibility with Wayland on Linux and the matching of the native platform desktop style has improved, so applications can take on a Windows or macOS look automatically on the respective platform. Qt 6 also introduces a new way of using tabular data, which prompted the development of the new `JuliaItemModel` type, which makes it easier than ever to present and modify tabular data in any of the standard QML elements that take a table or list of items. One possible application for this is to make an interactive `DataFrame` editor, for example.
The objective of this talk is to illustrate these new features, based on a simple demo application for working with tables, which we will first design in a GUI design tool. Even though QML is an easy language to read and write, many people prefer to design GUIs visually, so we will show that this workflow is also possible for QML.jl, using the standard tools provided by Qt. Once the GUI design is complete, we will show how to link it to Julia code and data.
Finally, we will end with some remarks on future work, such as more elaborate and up-to-date support for Makie.jl. Indeed, QML.jl already supports overlaying both regular OpenGL content and Makie.jl scenes with QML elements, but the idea is to split off this functionality into a separate package, so it becomes easier to use and keeps up better with the latest Makie version.
Resources
[Slides](https://slides.bartjanssens.org/julia...)
[Demo code](https://github.com/barche/QMLJuliaCon...)
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: