如何在Julia中创建GUI?

Dan*_*dez 18 user-interface julia

我是朱莉娅编程的新手,我需要创建一个GUI.我一直在寻找信息,我找不到任何有用的东西.我试图在Julia官方网页上搜索信息,但似乎已经失败了.我想知道你们中是否有人知道我在哪里可以找到有关它的信息.

avi*_*iks 32

这是一个非常普遍的问题,但我会尝试布置环境,以便您可以根据自己的需求做出明智的决定.

  • 如果您正在开发[Jupyter/IJulia]笔记本中的代码,并且需要非常简单的交互,例如滑块来更改某些输入值,那么Interact包是最容易上手的事情.
  • 要开发完整的Web UI,请查看Escher.受Elm的启发,它提供了UI组件的功能库.交互式Web UI在100%Julia中创建.客户端和服务器端之间的代码没有区别.该框架处理所有这些.
  • 另一个值得关注的Web框架是Genie,它基于传统的MVC设计模式.它还包括一个ORM.使用Genie编写的应用程序示例是Julia软件包的列表:http://genieframework.com/packages
  • 如果您想创建跨平台桌面应用程序,但想要使用Web技术(即HTML/CSS/Javascript),请使用Blink.这是围绕Electron的Julia包装器.您可以编写Escher应用程序,并在Blink.jl中包装以创建桌面应用程序.
  • 要使用Gtk库创建桌面UI应用程序,请使用Julia中的Gtk.jl包.如果您熟悉Gtk API,则很容易上手.请注意,有时安装所有与Cairo相关的依赖项会变得很复杂,因此请准备好对此进行故障排除.
  • 最后,但并非最不重要的是,古老的Tk框架在Julia中有一个包装器.与现代美学相比,使用传统知识创建的UI有时被认为是丑陋的,但有时这是获得窗口的最快方式.

  • Tk.jl 最近已恢复(2020 年 2 月) (2认同)

Ami*_*adi 5

QML.jl https://github.com/barche/QML.jl

QML.jl 包允许使用 Qt 库中的 QML 标记语言为 Julia 程序构建图形用户界面。该包遵循推荐的 Qt 实践并促进 GUI 代码和应用程​​序逻辑之间的分离。所有面向用户的代码都是纯 Julia 和 QML,无需 C++ 知识即可使用该包。