如何在Julia中创建GUI?

时间:2016-02-11 00:08:32

标签: user-interface julia

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

3 个答案:

答案 0 :(得分:26)

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

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

答案 1 :(得分:2)

有一个名为Genie的新软件包。它是一个与Python中的Django相当的Web框架。您可以使用Genie创建web ui。到目前为止(2017年8月),该软件包具有一些很好的演示功能,但文档并不完整。

答案 2 :(得分:0)

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

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