# A Julia library comparable to pysimplegui (simple graphical user interface)

**URL:** <https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907>\
**Category:** General Usage\
**Created:** [April 2, 2020, 3:14pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907 "2020-04-02T15:14:28Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![scelles](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scelles/32/220408_2.png) [@scelles](https://discourse.julialang.org/u/scelles)\
**Post date:** [April 2, 2020, 3:14pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/1 "2020-04-02T15:14:28Z")

</div>

Hello,

I wonder if a Julia library comparable to [pysimplegui](https://pysimplegui.readthedocs.io/) exists.  
I’m looking for a “pure” Julia solution… ie not using PyCall.

Kind regards

PS : repository [GitHub - PySimpleGUI/PySimpleGUI: Launched in 2018. It's 2022 and PySimpleGUI is actively developed & supported. Create complex windows simply. Supports tkinter, Qt, WxPython, Remi (in browser). Create GUI applications trivially with a full set of widgets. Multi-Window applications are also simple. 3.4 to 3.11 supported. 325+ Demo programs & Cookbook for rapid start. Extensive documentation. Examples for Machine Learning(OpenCV Integration, Chatterbot), Rainmeter-like Desktop Widgets, Matplotlib + Pyplot integration, add GUI to command line scripts, PDF & Image Viewer. For both beginning and advanced programmers. docs - PySimpleGUI.org GitHub - PySimpleGUI.com. The Minecraft of GUIs - simple to complex... does them all.](https://github.com/PySimpleGUI/PySimpleGUI)

---

<div class="post-metadata">

**Author:** ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Post date:** [April 2, 2020, 3:47pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/2 "2020-04-02T15:47:10Z")

</div>

What features are you looking for that aren’t present in e.g. [Gtk.jl](https://juliagraphics.github.io/Gtk.jl/latest/)?

---

<div class="post-metadata">

**Author:** ![scelles](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scelles/32/220408_2.png) [@scelles](https://discourse.julialang.org/u/scelles)\
**Post date:** [April 2, 2020, 4:18pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/3 "2020-04-02T16:18:45Z")

</div>

Same code to use several backends… tkinter, Qt, wxWidgets, Browser UI.  
Quite simple API but that’s a personal taste not a feature

---

<div class="post-metadata">

**Author:** ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)\
**Post date:** [April 2, 2020, 5:01pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/4 "2020-04-02T17:01:36Z")

</div>

I’m quite confident such a thing doesn’t exist. If you’re interested in writing one yourself, wrapping [IUP](http://webserver2.tecgraf.puc-rio.br/iup/) wouldn’t be a bad place to start.

I’d also encourage you to think carefully about whether you really need the code to use multiple GUI platforms; Gtk is already natively multi-platform, and looking at the code example on the front page of PySimpleGUI, writing simple GUIs with Gtk.jl doesn’t seem any more complex.

---

<div class="post-metadata">

**Author:** ![mbaz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbaz/32/17295_2.png) [@mbaz](https://discourse.julialang.org/u/mbaz)\
**Post date:** [April 2, 2020, 5:47pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/5 "2020-04-02T17:47:20Z")

</div>

> [@non-Jedi](#):
>
> wrapping [IUP](http://webserver2.tecgraf.puc-rio.br/iup/)

There’s [GitHub - joa-quim/IUP.jl: Julia interface to IUP windowing toolkit](https://github.com/joa-quim/IUP.jl), but it seems to be out of date.

---

<div class="post-metadata">

**Author:** ![dmolina](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmolina/32/5246_2.png) [@dmolina](https://discourse.julialang.org/u/dmolina)\
**Post date:** [April 2, 2020, 7:26pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/6 "2020-04-02T19:26:35Z")

</div>

I recommend you to check [ClmGui](https://github.com/Gnimuc/CImGui.jl), I personally have not used it, but it seems very nice.

> [@\[ANN\] CImGui.jl - A Wrapper for Bloat-free Immediate Mode Graphical User interface(Dear ImGui)](https://discourse.julialang.org/t/ann-cimgui-jl-a-wrapper-for-bloat-free-immediate-mode-graphical-user-interface-dear-imgui/21268/20):
>
> That’s probably due to the implementation of OpenGL backend is not very efficient. It queries a lot OpenGL global states in the rendering loop: This implementation is copied from Dear ImGui which maybe a trade-off bwteen correctness and performance.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 2, 2020, 7:35pm UTC](https://discourse.julialang.org/t/a-julia-library-comparable-to-pysimplegui-simple-graphical-user-interface/36907/7 "2020-04-02T19:35:15Z")

</div>

Yes, the lack of original good enough documentation made me give up. Also, as already mentioned in other thread on this, I had put my hopes in [Libui](https://github.com/joa-quim/Libui.jl) but this (the Libui C library) also has been stalled for long, though seems to show signs of waking up (by users pressure).
