Gui Library reviews from Reddit

Summary

We analyzed 292 Reddit reviews across 22 subreddits and 64 posts to rank the best Gui Library brands recommended by redditors, including communities like r/Python, r/learnpython, r/cpp_questions, r/rust, r/Cplusplus. Top-rated brands include Qt (4.2/5), PyQt (4.1/5), PySimpleGUI (4.5/5).

Stats
Reviews292
Subreddits22
Posts64
Brands93
Products17
292 reviews from
and
By Brand
/
By Product
#1

Qt

4.2
(41)
"I would not even consider anything but Qt."
·
"I'd still go Qt."
·
"I would recommend QML, which is a declarative language on top of Qt."
·
"If I'd need to choose one its Qt."
·
"Qt seems to be fairly popular."
·
"My personal go to for my GUI needs."
·
"Qt really is the best."
·
"Qt's documentation is second to none."
·
"Qt is pretty good, plenty of tutorials online."
·
"We use Qt extensively."
·
#2

PyQt

4.1
(22)
"Incredibly easy and quick to work with, plus has a lot of power behind it."
·
"If you think it may grow and need more features in the future, I would start with PyQt."
·
"The one I found the easiest to use was PyQt."
·
"A powerful and versatile framework with a wide range of UI elements."
·
"I would recommend PyQT and QT designer."
·
"I have been developing apps with qt for a long time and it definitely is fast and feature full."
·
"Web applications, then way after that PyQt/PySide/Qt for Python"
·
"I am a big fan of PyQT / PySide."
·
"PyQt."
·
"I used PyQt during my undergraduate modules. You can make some decent GUIs using it."
·
#3

PySimpleGUI

4.5
(13)
"Was working with PySimpleGUI, was really easy."
·
"PySimpleGUI."
·
"PySimpleGUI."
·
"I love pysimplegui."
·
"PySimpleGUI"
·
"Pysimplegui is the easiest gui lib to use."
·
"[PySimpleGUI](http://www.PySimpleGUI.org) is good for this."
·
"I find pysimplegui the easiest to quickly throw things together in"
·
"PySimpleGui absolutely."
·
"The author of that document recommends PySimpleGUI."
·
#4

Kivy

3.7
(10)
"I would recommend Kivy."
·
"Is worth a look"
·
"Kivy or Streamlit."
·
"I recommend Kivy."
·
"Have a look at Kivy. It's quite nice."
·
"As it’s cross platform compatible with the three operating systems, android, and iOS."
·
"There are a good number of apps on both the Apple and Google stores developed using Kivy. They are near native in look and feel."
·
"If you need something different than native-style UI of Qt - Kivy."
·
"I've always used Tkinter for small programs that need a GUI."
·
"You could try Kivy."
#5

wxPython

4.0
(9)
"WxPython is the best Python Gui library for python."
·
"WxPython anymore, but it is a full featured, cross platform GUI."
·
"I personally recommend WXPython."
·
"Wxpython for native apps like gui."
·
"I personally like wxPython the best."
·
"Provides a modern and native looking GUI."
·
"I've used wxPython to great success. Compared to the Swing API, wxPython passes the blind os 'taste' test for native looking apps."
·
"I have only used wxPython, but have been very pleased with it. I like that it looks native in each OS."
·
"WxPython can be customised to a ridiculous degree."
#6

Tkinter

2.7
(13)
"It's very fast and easy to program, one of the few where you aren't required to write classes to make it work"
·
"I think tkinter is a good beginner friendly framework that works out of the box with python."
·
"Built-in to Python, making it easy to use."
·
"Tkinter: Built-in with Python, easy to use for beginners, good for simple applications."
·
"Modern Tkinter"
·
"Tk is best supported, looks a bit old fashioned but loads of resources available."
·
"The easiest would be using the Tk widget library."
·
"As said by others, tkinter for something quick."
·
"For a simple GUI app it is fine."
·
"I dont think tkinther offer that many additional benefits."
·
#7

egui

4.3
(8)
"`egui` is also great for that kind of application."
·
"I recommend [https://github.com/emilk/egui](https://github.com/emilk/egui) which is really easy to use."
·
"Egui would be fine"
·
"I've used egui and it was pretty nice"
·
"You probably want either egui or iced."
·
"AFAIK the Rust equivalent to C++'s [Dear ImGui] is [egui]."
·
"Egui was really nice to use."
·
"I would second the egui suggestion."
#8

Avalonia

4.0
(7)
"I recommend Avalonia after having some knowledge with MVVM."
·
"AvaloniaUI or Uno Platform."
·
"I have liked Avalonia so far."
·
"If so, you're looking at Avalonia, Uno, Unity, or Blazor."
·
"Avalonia is what I use."
·
"Avalonia's pretty good and has WPF vibes."
·
"Avalonia"
#9

ImGui

3.9
(7)
"Imgui"
·
"Imgui is also great but it isn't the same as the others."
·
"I personally love ImGUI due to its immediate mode graphics."
·
"'Peoples choice' would probably be ImGui, it usually gets pretty good word of mouth"
·
"I like imgui because it allows me to integrate it."
·
"IMGUI"
·
"Quite ugly out of the box, but with some customization can look quite nice."
#10

Streamlit

4.5
(6)
"Streamlit"
·
"For something simple that will get you 90% of the way there, streamlit is 100% the way to go."
·
"A lot of folks have said it, but streamlit."
·
"If you're cool with running it as a web app, check out [Streamlit]."
·
"Streamlit"
·
"Look for streamlit."
#11

Dear PyGui

4.2
(5)
"I would say dearpygui."
·
"DearPyGui features your use case."
·
"I found DearPyGui quite straightforward."
·
"Personally I like DearPyGui."
·
"With Dear PyGui you can use images as buttons."
#12

FLTK

4.0
(5)
"FLTK is the best choice."
·
"FLTK, Juce and Qt are all good."
·
"If you're willing to consider fltk-rs, other things to consider are gtk-rs and binding to Qt's QWidget APIs."
·
"Fltk"
·
"I first used FLTK and it was really quick and simple."
#13

wxWidgets

3.8
(5)
"My preference is wxWidgets by far."
·
"I think wxwidgets is worth giving it a try."
·
"[wxWidgets](https://www.wxwidgets.org/)"
·
"Wx looks fancy and modern, but there are some bugs with Image handling."
·
"Qt is a good choice, and wxWidgets is ok IMO."
#14

Tauri

4.3
(4)
"Really like tauri."
·
"Just use Tauri, if you want to have a Desktop App"
·
"Tauri."
·
"Tauri is quite easy to use and cross platform."
#15

Wails

4.3
(4)
"Wails.io unquestionably IMO."
·
"Wails"
·
"I use wails for a commercial application and it's honestly very simple and nice."
·
"You can use [Wails](https://wails.io/) and combine your Go backend with any web front-end you want."
#16

Shiny

4.0
(4)
"It's pretty easy to get started and there's a lot of good examples."
·
"Shiny is about to be {maybe already is in alpha} released for python."
·
"There is a Shiny version for Python as of this week."
·
"For your use case I could say give the new python shiny a go."
#17

GTK

3.5
(4)
"GTK! However if you want others in on a project is C the right choice to begin with? I'd seriously consider Python if the end app isn't too demanding of hardware."
·
"I've always liked working with it. It's also way lighter weight than Qt."
·
"You can use GTK and I don’t think many alternatives exists. My suggestion is to use a simple GUI program written in Python or TCL and interface it to your software in C."
·
"Personally, I use GTK with PyGTK as the python wrapper. It's nicely cross-platform for linux & win32."
#18

Iced

4.7
(3)
"They have a backend for `iced` which is a great GUI library."
·
"You can use [https://github.com/iced-rs/iced](https://github.com/iced-rs/iced)"
·
"Iced is a great option as well, though I agree with the other comment of egui."
#19

pyqtgraph

4.3
(3)
"Pyqtgrwph is undoubtedly the fasting plotting library I know of and we use it in our applications in pyside"
·
"I have tried pyqtgraph with success. It is obviously Qt based, has room for improvement in its documentation but works well for my use case"
·
"I tested both embedding matplotlib into pyside6 and pyqtgraph. The latter is much faster, leaner, has more built-in tools"
#20

Leva

4.3
(3)
"Strongly recommend leva."
·
"Leva is the best"
·
"Curious since I've been using Leva and it's still under heavy development."
#21

Pygame

4.0
(3)
"Consider using Pygame, especially if you want the kind of visualizations seen for AOC."
·
"You could also use PyGame or Arcade."
·
"You could try my module, Pygame GUI"
#22

Blazor

4.0
(3)
"Blazor all the way"
·
"If you pick Blazor, could be writing a web application that uses WebAssembly."
·
"All platforms with a web browser? Try Blazor."
#23

Uno

4.0
(3)
"Uno or Avalonia."
·
"Uno with skia has the broadest reach."
·
"If so, you're looking at Avalonia, Uno, Unity, or Blazor."
#24

Fyne

4.0
(3)
"I'm using Fyne, to do some image processing."
·
"I like fyne but the style has strong backend dev making front end vibes xd I don't mind it"
·
"Fyne? https://fyne.io/"
#25

Flask

4.0
(3)
"Flask"
·
"Tl;dr use flask or electron"
·
"Make a web application in Django or flask."
#26

NanoGUI

3.7
(3)
"After the initial setup NanoGUI seemed pretty intuitive."
·
"Well, you could give NanoGUI or Dear ImGUI a shot."
·
"There's already a (nice but fairly minimal) GUI library based on nanovg."
#27

CustomTkinter

3.7
(3)
"I heard good things about customtkinter."
·
"Https://github.com/TomSchimansky/CustomTkinter."
·
"A modern looking GUI tkinter is customtkinter."
#28

Pyside6

5.0
(2)
"Definitely pyside6. Its license allows for commercial use. You can design the UI with QT Designer or in code like TKinter."
·
"Pyside6 has everything. It is the more complete with difference."
#29

Slint

5.0
(2)
"Try slint, its really simple, comfortable and fast"
·
"You should try Slint, it has a preview so you can do the prototyping of the UI without recompiling the app."
#30

Plotly Dash

5.0
(2)
"I'm a big fan of Plotly Dash."
·
"If you're looking to plot graphs I strongly recommend using plotly and dash."
#31

KivyMD

5.0
(2)
"KivyMD has all the classes to create beautiful, fresh applications for any platform."
·
"KivyMD Is the best."
#32

HTML/CSS

5.0
(2)
"It's fast, simple, cross-platform, good looking, modern, tons of ready-to-use UI components."
·
"Best GUI is Html and css"
#33

pyqt

5.0
(2)
"My vote is for pyqt. I've tested a lot of gui libraries. Tkinter just sucks. pysimplegui is ugly. Kivi didn't even ran on my system. PyQt isn't the easiest of all but delivers good results."
·
"PyQt is the best"
#34

Dear ImGui

5.0
(2)
"It's called Dear ImGUI but yes, it would be my recommendation too."
·
"I like Dear imGui a lot. Easy to use, the demo project has very easy examples to cut/pasted and modify to your needs."
#35

Arcade

4.5
(2)
"I recommend Arcade."
·
"You could also use PyGame or Arcade."
#36

JUCE

4.5
(2)
"I have long been interested in this area but only recently discovered JUCE and have fallen in love with it."
·
"FLTK, Juce and Qt are all good."
#37

CopperSpice

4.5
(2)
"I'd say Copperspice. They really have nice support and are super approachable!"
·
"It is basically Qt with modern c++ and some of its issues resolved."
#38

PyQt5

4.5
(2)
"I recommend pyqt5 because some great things have been built by it."
·
"PyQT5 is pretty good. Can be thematically styled with custom style sheets if you so desire."
#39

PyQt/PySide

4.5
(2)
"Pyqt/pyside now running version 6 has the best community support with industry standard QT framework backing it"
·
"PyQT/PySide if you need a professional desktop app."
#40

Godot

4.0
(2)
"Godot. As painless as they come. Has support for many good UI elements from the start. Easy to use."
·
"Godot is pretty straightforward with that and brings lots of pre-made GUI nodes."
#41

FLTKHS

4.0
(2)
"The usual suspects: check out fltkhs.. Unusual suspect: check out notcurses ? You'd have to write haskell bindings probably."
·
"I'm the author of FLTKHS which is Linux/Windows and WebkitFLKHS which allows a webview."
#42

PySide6

4.0
(2)
"One more vote for Pyside6."
·
"Been working through pyside6."
#43

EEL

4.0
(2)
"I recommend EEL."
·
"Eel"
#44

PyQt6

4.0
(2)
"I’ve used pyqt6 to show live imaging from a camera before. Wasn’t too bad"
·
"I’d start at PyQt6. No reason to be on the old version on day 1."
#45

wxHaskell

4.0
(2)
"You are missing an important one, wxhaskell, which has native widgets on all platforms, unlike the ones you mentioned."
·
"I found wxhaskell relatively easy to set up recently on Windows and Linux. It's not trivial though."
#46

dearpygui

4.0
(2)
"Dearpygui is the python bindings to the C++ library dearimgui. The GPU accelerated "immediate mode" rendering is great for real-time updates"
·
"Dearpygui is what I chose for my most recent project, it's not by any means perfect and I have my issues with it, but it did allow me to fully complete a GUI app for once so it's gotta count for something."
#47

Nicegui

4.0
(2)
"Nicegui is pretty decent"
·
"Do yourself a favor and ignore all the kivy, pyqt, wxpython examples etc. they are all way too complex imo. go with r/nicegui instead"
#48

Flutter

4.0
(2)
"I’ve had a really good experience with Flutter."
·
"I would personally go with Tauri if I wanted web app."
#49

Glimmer

4.0
(2)
"Glimmer is great and Andy is quite active with the project."
·
"Https://github.com/AndyObtiva/glimmer"
#50

Tweakpane

3.5
(2)
"Tweakpane https://cocopon.github.io/tweakpane/"
·
"Tweakpane seems to have regular-ish commits."
#51

PySide

3.5
(2)
"You can completely customize every widget using CSS."
·
"LGPL python bindings for Qt - Pyside."
#52

Electron

3.5
(2)
"Vs Code, slack, twitch all use Electron js."
·
"Gtk and Qt have been mentioned. But if you want something portable, with low learning curve and fast to develop, electron is the way to go... Sadly."
#53

Flet

3.5
(2)
"Which I like. Plus it's cross platform!"
·
"Flet.dev"
#54

webviewhs

3.5
(2)
"I think webviewhs is a really good option. It is cross-platform and if you already know a bit about html/css/js then it would be really easy to use."
·
"There is a library called webviewhs which meets some of your requirements. It's a binding to the C webview library."
#55

Tk

3.0
(2)
"Gem install tk"
·
"There is tk too"
#56

Shoes

3.0
(2)
"Shoes.rb - never has been production ready but if you want it to work on Mac/Linux/Windows or just want to get most of the way there today, I’d recommend that."
·
"Shoes is not near as complete as the others mentioned above, but is easily more than enough for a school project or TODO app as you described."
#57

Blender

5.0
(1)
"If you want amazing amounts of control, and great graphics... make the gui like any other blender game."
#58

fltk-rs

5.0
(1)
"I'd recommend fltk-rs with fluid (GUI designer) + flex layout."
#59

PySide2

5.0
(1)
"Pyside2/ pyside6 is the best and most well documented cross platform GUI library for python."
#60

PyQT/PySide

5.0
(1)
"PyQT/PySide full stop. These days disk size is a non issue. Even for trivial applications I start with QT as it's like second nature for me at this stage."
#61

GIU

4.0
(1)
"I like GIU https://github.com/AllenDang/giu"
#62

Spot

4.0
(1)
"Im suprised noone mentioned spot."
#63

Nucular

4.0
(1)
"Nucular"
#64

Piet

4.0
(1)
"If you want really simple look at piet and other cpu renderers"
#65

Lapce

4.0
(1)
"Have a look at what [Lapce] uses."
#66

Theia

4.0
(1)
"You should also take a look at [Theia]."
#67

lil-gui

4.0
(1)
"Lil-gui"
#68

Enaml

4.0
(1)
"Enaml is excellent."
#69

Eto.Forms

4.0
(1)
"Check out [Eto.Forms]."
#70

Gioui

4.0
(1)
"I recommend gioui."
#71

Cogent Core

4.0
(1)
"I'm taking a close look at Cogent Core now."
#72

DearPyGui

4.0
(1)
"Dearpygui."
#73

Dioxus

4.0
(1)
"I would also like to suggest Dioxus."
#74

GTK4

4.0
(1)
"Consider GTK4."
#75

Skia

4.0
(1)
"Option 1: [Skia](https://skia.org/) is a low-level 2-d canvas."
#76

Fox Toolkit

4.0
(1)
"You might take a look at http://fox-toolkit.org/. Compiles to multiple platforms, too."
#77

SFML

4.0
(1)
"I used SFML for that job. It's well documented, there are plenty YouTube tutorials."
#78

UltraLight

4.0
(1)
"I just heard about https://ultralig.ht/ the other day. Looks interesting."
#79

Raylib

4.0
(1)
"Raylib has a UI lib."
#80

SnapKit

4.0
(1)
"Another option is SnapKit: https://github.com/reportmill/SnapKit Follows Swing conventions, but with modern features like JavaFX."
#81

Ruiby

4.0
(1)
"I made 'Ruiby', which is a DSL, like 'shoes', which use gtk3 and support many many widgets."
#82

JFoenix

4.0
(1)
"You can try JFoenix https://github.com/jfoenixadmin/JFoenix"
#83

Brick

4.0
(1)
"Maybe Brick is what you need? https://hackage.haskell.org/package/brick"
#84

gi-gtk-declarative

4.0
(1)
"I would definitely favor creating a functional GUI library. After browsing this subreddit I stumbled on the GTK declarative library which looks like a step in the right direction."
#85

Concur

4.0
(1)
"If Purescript is an option, you should look at Concur. It uses React as the view library so you can use any React widget."
#86

haskell-gi

4.0
(1)
"Haskell-gi fits your case pretty well if I understand it."
#87

Threepenny-gui

4.0
(1)
"This sounds quite a bit like Threepenny. You can either have the UI served to a browser or package the application with Electron."
#88

reflex and nicegui

4.0
(1)
"You can use either reflex or nicegui with plotly library. Both can be used to build dashboarding applications and they support plotly, matplot visualizations."
#89

kivy and pyqt

4.0
(1)
"I've used both kivy and pyqt. I kind of prefer pyqt because it felt more obvious."
#90

flet

4.0
(1)
"I've been learning flet it works really good. Also teaches you some extras for other JavaScript as it's just flutter implemented into python"
#91

JustPy

3.0
(1)
"JustPy: create interactive websites without any JavaScript programming (High hopes but I haven't gotten past learning curve)"
#92

Anvil

3.0
(1)
"Anvil | Python-Only Web Development for Everyone"
#93

C++/Tk

3.0
(1)
"I'd propose C++/Tk or FLTK."

Discover your audience

GummySearch is an audience research toolkit for 130,000 unique communities on Reddit.

If you are looking for startup problems to solve, want to validate your idea or find your customers online, GummySearch is for you.

Sign up for free, get community insights in minutes.

Tell me more
Get started
Audience Research