ctpg
Elements C++ GUI library

ctpg | Elements C++ GUI library | |
---|---|---|
8 | 13 | |
466 | 3,319 | |
0.9% | 1.9% | |
3.9 | 9.6 | |
5 months ago | 4 months ago | |
C++ | C++ | |
MIT License | The MIT License |
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.
ctpg
- Compile Time Parser Generator - 1.3.6
-
Compile Time Parser Generator
https://github.com/peter-winter/ctpg Now with a proper build system with regression testing and cmake integration for other projects.
- Compile Time Parser Generator, new version, clang support and faster compilation times.
- Compile Time Parser Generator. New version with clang support and reduced compilation times.
- C++ Compile Time Parser Generator
- Compile time parser generator, new 1.3 version now with error recovery.
-
Compile time parser generator
I created a c++ header only library that allows parser generation in compile time. Somewhat like flex+bison but inside the c++ 17 compiler. https://github.com/peter-winter/ctpg
- Show HN: I made a C++ header only library for compile-time parser generation
Elements C++ GUI library
- declarative GUI libraries
-
Digital Audio Workstation Front End Development Struggles
There's a relatively new C++ GUI library literally called "Elements". Not sure how it works though, but the way it looks, and the music background of its creator makes it appear designed for DAWs.
https://github.com/cycfi/elements
-
Introducing Slint 1.0 - The Next-Generation GUI Toolkit with C++20 APIs
Further, if you we want a "modern" C++ GUI framework what actually would be modern would be to use mechanisms in the language itself as a quasi-DSL from within the language. This is something like what Joel de Guzman is doing with Elements
- Can I include cycfi/elements with CMake in any project or must I build up on example projects?
-
Boost.URL ACCEPTED, get the beta now!
It's a complex domain. The closest we have at the moment is Elements which hasn't been proposed for Boost (yet?) but is by Joel de Guzman, the primary author of Boost.Spirit.
-
Is there any MIT/BSD licensed UI framework for C++ ?
I ended up with elements gui https://github.com/cycfi/elements
-
GUI for software, not games, but lighter than Qt ?
If you don't want to use Qt I honestly think your best bet may be to become an early adopter of cycfi elements depending on your project. Elements is still rough but is useable for small applications. I think when it is finished it will be the best choice for a retained mode GUI library, but right now it is missing a lot of things (e.g. the standard common dialogs, "open", "Save as", etc.) , and has basically zero documentation.
-
What are you using for GUIs?
github link
-
Why I choose Electron even when I wanted to use QT
For the past year we were evaluating EFL, QML and Flutter for our embedded TV devices after having used the first two for last 5+ years and choice was made to go with Flutter. Performance is great, license is great, and development experience, judged by the whole development team, is the best. Hence my remark on being sad as QML could have had a great future, even transitioned to modern C++ without need for separate language, if there was a huge adoption and proper choices made by the company, e.g. see https://github.com/cycfi/elements.
What are some alternatives?
cpp-peglib - A single file C++ header-only PEG (Parsing Expression Grammars) library
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).
Turbo Vision - A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
nuklear - A single-header ANSI C immediate mode cross-platform GUI library
FTXUI - Features: - Functional style. Inspired by [1] and React - Simple and elegant syntax (in my opinion). - Support for UTF8 and fullwidth chars (→ 测试). - No dependencies. - Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), - WebAssembly. - Keyboard & mouse navigation. Operating systems: - linux emscripten - linux gcc - linux clang - windows msvc - mac clang
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]
RmlUi - RmlUi - The HTML/CSS User Interface library evolved
sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development
nana - a modern C++ GUI library
MyGUI - Fast, flexible and simple GUI.
