• Stars
    star
    331
  • Rank 123,067 (Top 3 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Qt (QOpenGLWidget / QOpenGLWindow) backend for ImGui

QtImGui

Qt (QOpenGLWidget / QOpenGLWindow) backend for ImGui

It enables ImGui to run in QOpenGLWidget / QOpenGLWindow.

https://gyazo.com/eb68699c96b9147cca3d5ea9fadfc263

How to use

  • Add QtImGui sources and headers to your project
    • If you are using git submodule, run git submodule update --init --recursive to ensure that the inner submodule is initialized as well.
  • CMake:
    • Add add_subdirectory(path/to/qtimgui) to your CMakeLists.txt file
    • Link qt_imgui_quick (for Qt Quick apps or apps that don't use QOpenGLWidget) or qt_imgui_widget (for apps using QOpenGLWidget)
  • qmake:
    • Add include(path/to/qtimgui/qtimgui.pri) to your .pro file
  • Subclass QOpenGLWindow or QOpenGLWidget and:
class DemoWindow : public QOpenGLWindow
{
protected:
    void initializeGL() override
    {
        QtImGui::initialize(this);
    }
    void paintGL() override
    {
        // you can do custom GL rendering as well in paintGL

        QtImGui::newFrame();

        ImGui::Text("Hello");
        // more widgets...

        ImGui::Render();
        QtImGui::render();
    }
};

See QOpenGLWidget example and QOpenGLWindow example for details.

Specific notes for Android, when using cmake

Two projects are provided: qtimgui.pro and CMakeLists.txt.

When using CMake under Android, this project will uses qt-android-cmake, which is a CMake utility for building and deploying Qt based applications on Android without Qt Creator.

In order to successfuly deploy the app to a device, the cmake variable ANDROID_NATIVE_API_LEVEL should elevated to 21 or 26 (depending on the native levels installed in your android sdk) You will need to set it via the CMake command line, or inside Qt Creator (in the project view).

More Repositories

1

SimpleDALPlugin

Simple CoreMediaIO DAL virtual camera plugin example written in Swift
Swift
145
star
2

ruby-qml

A QML / Qt Quick bindings for Ruby
Ruby
135
star
3

PaintField

A simple cross-platform digital painting tool
C++
42
star
4

electron-pdfjs

Electron + PDF.js viewer example
JavaScript
32
star
5

react-draggable-tree

Unstyled draggable tree view for React
TypeScript
32
star
6

libqmlbind

A C library for creating QML bindings for other languages easily through exporting objects to QML
C++
30
star
7

electron-safe-ipc

Safe communication between main process and renderer processes in Electron
JavaScript
26
star
8

uimix

A WYSIWYG React component builder 🚧 Very work-in-progress
TypeScript
20
star
9

wasm-face-detection

Face Detection using dlib/OpenCV in WebAssembly
C++
19
star
10

sketch-glass

Simple & fast realtime online whiteboard powered by WebGL and Google Drive
TypeScript
18
star
11

paintvec

JavaScript 2D vector math library
TypeScript
17
star
12

paintkit

[WIP] UI components and utilities for graphics editors or similar apps
TypeScript
17
star
13

transparent-titlebar

Transparent title bar with native title label in Electron for Mac
Objective-C++
15
star
14

glob-loader

webpack loader to load files at once with glob
JavaScript
15
star
15

wasm-text-rendering

Get glyph data and render text to a canvas using Rust wasm
Rust
15
star
16

amulet

C++ library for container manipulation and monads
C++
14
star
17

node-tflite

TensorFlow Lite bindings for Node.js
C
14
star
18

figma-to-tailwind

Figma plugin to convert layers to Tailwind HTML/JSX (utilizing JIT and custom configs)
TypeScript
12
star
19

electron-md-editor

Markdown editor example using Electron
JavaScript
11
star
20

tparse

A Parser Combinator for JavaScript/TypeScript
TypeScript
8
star
21

frame

[WIP] Minimum viable digital design app
TypeScript
8
star
22

Garnet

mruby bindings for Qt (QObject & QML)
C++
8
star
23

macaron-app

Open design platform
TypeScript
7
star
24

draggabletab

a draggable tab widget implementation in Qt
C++
7
star
25

swift-qt-experiment

Experimenting Swift + Qt bindings
Swift
7
star
26

StarCat

Browse GitHub repos in iOS
Swift
6
star
27

simple-drawing-tool

Simple collaborative drawing tool example
TypeScript
5
star
28

qmlrequire

`require` node modules from QML (work in progress)
C++
5
star
29

bezier-subdivide

Bezier curve subdivision in JavaScript
JavaScript
5
star
30

meta_meta_object

A QMetaObject Dynamic Construction Library
C++
4
star
31

design-icons

Icon set for design tools
TypeScript
4
star
32

macaron

[WIP] A JavaScript alternative with static typing
TypeScript
4
star
33

vcam-socket-client

Send frame data to virtual camera via socket (macOS)
C++
3
star
34

tensorflow-lite-cpp-builds

[WIP] TensorFlow Lite C++ builds for several platforms
C++
3
star
35

qt-opencascade-experiment

Qt + Open CASCADE experiment
C++
3
star
36

TFLiteSegmentationQt

Run TensorFlow Lite image segmentation in Qt desktop app
C++
3
star
37

yjs-realtime-database

Firebase Realtime Database + Y.js
TypeScript
3
star
38

wgpu-shape-rendering

Experimenting vector graphics rendering on wgpu (wasm)
Rust
2
star
39

bundlelibs

A tool for bundling .dylib libs into Mac apps easily
Ruby
2
star
40

meshlib

3D mesh manipulating library in C++
C++
2
star
41

learn-typescript

TypeScript
2
star
42

CraftKit

Building blocks for Qt-based editor applications
2
star
43

Malachite

2D Graphics Engine Based on Qt
C++
2
star
44

decompose

A simple component system built on top of virtual-dom
CoffeeScript
2
star
45

simple-lang

A very simple programming language written in Ruby
Ruby
2
star
46

SwiftQML

Swift bindings for QML
Swift
2
star
47

slide-learn-typescript

TypeScript速習会@Wantedly 発表資料
HTML
2
star
48

shapecraft

[WIP] 3D drawing tool
C++
2
star
49

webgl-painting

Painting tool test in WebGL
CoffeeScript
2
star
50

vtree-kup

CoffeeKup-like DSL for building virtual-dom tree
CoffeeScript
2
star
51

CQMLBind

libqmlbind wrapper for Swift
C
1
star
52

Wirework

Simple reactive programming & data binding utility for Swift
Swift
1
star
53

typedoc-theme-clean

A super minimalistic theme for typedoc
HTML
1
star
54

inline-import

Inline (function-like) ES6 `import` like good old CommonJS `require`
JavaScript
1
star
55

Lattice

[WIP] 3D modeling tool
C++
1
star
56

super-iterable

JavaScript / TypeScript library providing ES6 Iterable utilities
JavaScript
1
star
57

randomicon

simple icon generator with seeded random
JavaScript
1
star
58

try-cloud-run

JavaScript
1
star
59

Ropework

Minimalistic reactive programming in Swift
Swift
1
star
60

figma-plugins

[WIP] Experimental Figma plugin for code import/export
TypeScript
1
star
61

JSIL-helloworld

JSIL Hello World Example
HTML
1
star
62

konomi

Declarative object tree construction system for JavaScript, mainly for UI programming
JavaScript
1
star
63

tensorflow-lite-build-actions

[WIP] Build TensorFlow Lite in GitHub Actions
1
star