gtk4-rs VS imgui

Compare gtk4-rs vs imgui and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
gtk4-rs imgui
22 351
1,669 55,870
2.3% -
9.6 9.7
5 days ago 4 days ago
Rust C++
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

gtk4-rs

Posts with mentions or reviews of gtk4-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-23.
  • Integrate with Skia GL
    2 projects | /r/GTK | 23 Aug 2023
    The only example that shedded some light on the integration was gtk4 + femtovg. So I mimicked the example, using gtk4-rs and Skia's rust bindings. I had some code similar to the following inside a subclass of GLArea to setup Skia's DirectContext, but it failed:
  • error[E0432]: unresolved import `gtk::FileDialog`
    1 project | /r/learnrust | 31 Jul 2023
    Hi, I am studying gtk4 with rust, now trying to check examples from https://github.com/gtk-rs/gtk4-rs/tree/master/examples some of them are building and compiling but text_viewer(cargo run --bin text_viewer) and some others are failing with the error below
  • How do I use ColumnView ?
    1 project | /r/GTK | 14 May 2023
    I created a demo of using column view in gtk4-rs rust here...maybe be a point of reference https://github.com/gtk-rs/gtk4-rs/tree/master/examples/column_view_datagrid
  • GUI development with Rust and GTK 4
    15 projects | news.ycombinator.com | 25 Apr 2023
  • My (challenging) experience building a window switcher for Ubuntu
    6 projects | /r/rust | 5 Mar 2023
    To build the UI, I used gtk-rs. My experience with this library was quite pleasant; it was easy to use and there were a lot of examples. However, it isn't as widely used as, say, React, so it was difficult to find answer on Stack Overflow (I come from a JavaScript/Typescript background).
  • Are there any good UI/GUI libraries out there?
    8 projects | /r/rust | 30 Nov 2022
    There are good GTK bindings for Rust (https://github.com/gtk-rs/gtk4-rs and https://github.com/Relm4/Relm4)
  • GTK4 + Rust + GLArea: How do I set the opengl version?
    1 project | /r/GTK | 6 Nov 2022
    I've been following this example to get something that works for whatever the default opengl context version is, however, I can't figure out how to request a specific opengl version on context creation: https://github.com/gtk-rs/gtk4-rs/tree/master/examples/glium_gl_area
  • Rust for Linux can be compiled with GCC codegen(only few hacks are needed)
    2 projects | /r/linux | 9 Oct 2022
    gtk4-rs itself feels like it takes very little time to build: https://github.com/gtk-rs/gtk4-rs but when you add up all the time to building all examples afterwards, it's about the same and provides the equivalent of capabilities of QT(C++ and RUST) so yes it's going to take time to build.
  • The state of Rust GUI libraries
    9 projects | dev.to | 17 Aug 2022
    The gtk-rs project provides safe Rust bindings for GNOME stack-based libraries, like the GTK 3 and GTK 4 libraries. The gtk3-rs and gtk4-rs libraries provides GTK 3 and GTK 4 functionalities, respectively.
  • Any good resources for using Rust with GTK4 and Libadwaita?
    3 projects | /r/gnome | 12 Mar 2022
    Check out the examples in the gtk4-rs repository.

imgui

Posts with mentions or reviews of imgui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-06.
  • Using raylib with Dear ImGui: Game Dev Debugging UI
    5 projects | dev.to | 6 Apr 2024
    include(cmake/CPM.cmake) function(raylib_imgui_setup_dependencies) message(STATUS "Include Dear ImGui") FetchContent_Declare( ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG 277ae93c41314ba5f4c7444f37c4319cdf07e8cf) # v1.90.4 FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) add_library( imgui STATIC ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp) target_include_directories(imgui INTERFACE ${imgui_SOURCE_DIR}) include(cmake/CPM.cmake) message(STATUS "Include dbg-macro") cpmaddpackage( "gh:sharkdp/dbg-macro#fb9976f410f8b29105818b20278cd0be0e853fe8" )# v0.5.1 message(STATUS "Include fmtlib") cpmaddpackage("gh:fmtlib/fmt#e69e5f977d458f2650bb346dadf2ad30c5320281" )# 10.x message(STATUS "Include raylib") cpmaddpackage("gh:raysan5/raylib#ae50bfa2cc569c0f8d5bc4315d39db64005b1b0" )# v5.0 message(STATUS "Include spdlog") cpmaddpackage("gh:gabime/spdlog#7c02e204c92545f869e2f04edaab1f19fe8b19fd" )# v1.13.0 message(STATUS "Include rlImGui") FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui GIT_TAG d765c1ef3d37cf939f88aaa272a59a2713d654c9) FetchContent_MakeAvailable(rlImGui) FetchContent_GetProperties(rlImGui SOURCE_DIR RLIMGUI_DIR) add_library(rlimgui STATIC ${rlimgui_SOURCE_DIR}/rlImgui.cpp) target_link_libraries(rlimgui PRIVATE imgui raylib) target_include_directories(rlimgui INTERFACE ${rlimgui_SOURCE_DIR}) endfunction()
  • Ask HN: Fastest cross-platform GUI stack/strategy
    3 projects | news.ycombinator.com | 18 Mar 2024
  • Immediate Mode GUI Programming
    15 projects | news.ycombinator.com | 15 Jan 2024
    Immediate mode is a fuzzy concept, as witnessed by this writeup: https://github.com/ocornut/imgui/wiki/About-the-IMGUI-paradi...
  • Nebula is an open-source and free-to-use modern C++ game engine
    6 projects | news.ycombinator.com | 9 Jan 2024
  • Black Triangles
    1 project | news.ycombinator.com | 26 Dec 2023
    It's fun to see the evolution in e.g. these examples of image loading for Dear Imgui:

    https://github.com/ocornut/imgui/wiki/Image-Loading-and-Disp...

    DirectX9 will even load the image for you, DirectX11 okay we get a few more structures to fill out, DirectX12 is where it goes off the rails and we are filling out a bunch of UNKNOWN DONT_CARE JUST_DO_IT. Then of course Vulkan is the one that gets the big fat "this probably won't actually work for you" warning.

    I understand whats happening, but you know sometimes I just want to display a fucking image.

  • Dear ImGui: Bloat-free Graphical User interface with minimal dependencies
    10 projects | news.ycombinator.com | 20 Dec 2023
    ImGui is engine/GPU agnostic

    Themeing isn't a just a retained mode thing, you can do wonders with immediate UIs, even thought (dear)ImGui doesn't provide much, you can still do wonders: https://github.com/ocornut/imgui/issues/707#issuecomment-362...

    More on that topic: https://www.youtube.com/watch?v=Z1qyvQsjK5Y

  • Where do I start to learn C++ for a game development
    2 projects | /r/gamedev | 10 Dec 2023
    Bonus: If you want to make desktop app with UI, then this is another great C++ library and it's also simple to learn as well. https://github.com/ocornut/imgui.
  • GUI library for fast prototyping
    3 projects | /r/rust | 6 Dec 2023
    AFAIK the Rust equivalent to C++'s Dear ImGui is egui.
  • Stretching myself thin with Dear ImGui projects
    2 projects | dev.to | 28 Nov 2023
    They use a Dear ImGui, a C++ GUI library.
  • PCSX2 Disables Wayland Support
    7 projects | news.ycombinator.com | 26 Nov 2023
    Aside from bugs and driver issues, Wayland has some unfortunate design limitations. For example, Dear ImGui multi-viewports don't work because "Wayland doesn't let application read or write windows positions."

    https://github.com/ocornut/imgui/wiki/Multi-Viewports

    This is a feature available on Windows, macOS, and of course X11. Making choices like this means desktop Linux becomes even more of a weird island that nobody wants to support.

What are some alternatives?

When comparing gtk4-rs and imgui you can also consider the following projects:

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

wxWidgets - Cross-Platform C++ GUI Library

egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

nuklear - A single-header ANSI C immediate mode cross-platform GUI library

fltk-rs - Rust bindings for the FLTK GUI library.

NanoGUI - Minimalistic GUI library for OpenGL

cef - Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

Slint - Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint]

gtk-rs - Rust bindings for GTK 3

CEGUI