wxWidgets
lvgl
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wxWidgets
- Solitaire: Authentic remake of the Windows 95 original
-
Building Apps with Tauri and Elixir
The Elixir programming language is no stranger to desktop applications as the language actually supports building them out of the box. It uses wxWidgets: a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base. But wxWidgets has a very complex API, and doesn’t solve issues that usually come with desktop applications around packaging.
-
WxWidgets – open-source C++ cross platform GUI
Qt is also 100% open/free. In fact, both are available under the LGPL, just that wxWidgets also grants an exception to not have to distribute application sources even when statically linked:
https://github.com/wxWidgets/wxWidgets#licence
-
Need for GUIs for bioinformatic tools?
But for big programs, ones written in C++? Good luck it won’t be easy at all. You might try wxwidgets or qt. I do not predict trying to click box-ify complex cli tools yielding much success.
-
Create desktop application
In theory, you should be able to use FFI to interface with something like wxWindows, but you might again have problems on macOS, I don't know. And to me eyes, Wx looks a bit outdated.
-
IUP – Cross platform C GUI library
This seems to be like the classic wxWidgets [1], i.e. it's an API that wraps the underlying platform's default toolkit. So on Windows it uses Windows' native controls, in Linux it seems to use GTK, and so on.
That means that the advantage is being able to write against one API, and get cross-platform compatibility, which can be nice. It also means (typically) being limited in what you can do to the least common denominator, or you (=the toolkit author) end up having to re-implement features from one platform that you want to expose but that are missing on some supported target(s). Or, of course, have an API with non-portable parts in it.
In any case, it means the "look and feel" is not the core feature of the API since that is going to be "like the target platform" and that is the point.
Given the origin, I guess Lua support is important too, here.
[1]: https://www.wxwidgets.org/
-
Creating C++ windowed applications
- So, I found wxWidgets. Which looked good. However, when I followed some tutorials I was getting errors. Even when I copied and pasted the tutorial code. Furthermore, the library still doesn't seem to simplify the process much.
-
What does this icon belong to? I've seen it used in many pieces of software, but I never found out what it actually is from.
It is the icon for WXWidgets, a programming toolkit for making user interfaces that work on Windows, Mac OS and Linux.
-
Inkscape is hiring: Accelerating the GTK4 migration
In general, people will use a cross-platform library to port such applications. While QT will likely never really stabilize (I'd flag it unsustainable), the https://www.wxwidgets.org/ is able to be statically linked into commercial and opensource projects at no cost without tripping GPL.
"Hiring a senior C++ developer with GTK experience is costlier"
I think you are confusing skill valuation, and operational productivity. Some have an erroneous notion talent is interchangeable. Likewise, applicants with identical base skill-sets on their CV often mistakenly believe they even have long-term employment options (outsourced, youth tax credit churn, and or senior wage suppression).
Most FOSS people are easier to train, as most already can mitigate utter chaos already. =)
-
Is it possible to build a gui which is both cross compatible and native?
There are a few like that in the C++ community. WxWidgets is the most famous/popular with this approach. But it is a library almost impossible to use in other languages because their api is heavily templated.
lvgl
-
Ask HN: Nobody interested an open hardware iPod Nano?
So here is the thing: The iPod Nano 7g is from 2012. I've seen many people designing custom PCBs and releasing Kickstarter projects for custom audio players[5] or game handhelds[6]. I know Rockbox (which is great, but its lacks support for Wifi and Bluetooth AFAIK and just does not compete with the UX of iPod's audio book features in my opinion) and iPod Linux. 10 years ago someone even reverse engineered the iPod Nano 6g display[3].
Although I'm not skilled enough in PCB-Design, after some research I found the Lilygo T-Display S3 Pro[4] based on ESP32 S3, which would be the size, but lacks audio and OS. There is also the Mango PI CyberPad[7], which looked interesting, but maybe is already too clunky.
Programming wise, LVGL[8] may be a good framework to develop a modern and efficient UI - at least it looks promising.
So, why is nobody interested in recreating an iPod nano like device? It should be doable with modern tech, but Phones have completely taken over the marked...
1: https://www.reddit.com/r/audiobooks/comments/14ue4un/comment/ks1sj99/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
2: https://github.com/advplyr/audiobookshelf-app/issues/847
3: https://www.youtube.com/watch?v=7TedIzmguP0
4: https://www.lilygo.cc/products/t-display-s3-pro
5: https://www.youtube.com/watch?v=1C597AkhGtw
6: https://www.funkey-project.com/
7: https://mangopi.org/cp1m
8: https://lvgl.io/
-
LVGL 9.0 Released
LVGL is a graphics library used mostly for embedded UI's. Main website: https://lvgl.io/
-
imgui VS lvgl - a user suggested alternative
2 projects | 3 Nov 2023
Popular embedded UI library
- LVGL: Light and Versatile Graphics Library
-
Show HN: Slint - A Declarative UI Toolkit Written in Rust for Embedded & Desktop
If you need something written in C and very tiny, I recommend LVGL https://lvgl.io/
- Open-source graphics library to create UIs for any microcontroller
- How to write display drivers?
-
Lilygo T-Display-S3 AMOLED
The factory code uses the Lvgl graphic library. https://github.com/lvgl/lvgl
- Is anyone still offering 1.4ghz mod services?
-
Interfacing SPI LCD with Zynq 7020
I'm trying to interface SPI LCD (ILI943) with Zynq 7020 (PYNQ-Z2 board) and LVGL embedded UI libary. And considering between two approaches:
What are some alternatives?
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
TFT_eSPI - Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips
FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
LovyanGFX - SPI LCD graphics library for ESP32 (ESP-IDF/ArduinoESP32) / ESP8266 (ArduinoESP8266) / SAMD51(Seeed ArduinoSAMD51)
gtkmm - Read-only mirror of https://gitlab.gnome.org/GNOME/gtkmm
GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk
GuiLite - ✔️The smallest header-only GUI library(4 KLOC) for all platforms
nana - a modern C++ GUI library
micropython-micro-gui - A lightweight MicroPython GUI library for display drivers based on framebuf, allows input via pushbuttons.
libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.