diff --git a/src/bindings/bindings.h b/src/bindings/bindings.h
index bde099fb6..d725185f6 100644
--- a/src/bindings/bindings.h
+++ b/src/bindings/bindings.h
@@ -7,6 +7,7 @@
#include "../core/Cutter.h"
#include "../common/Configuration.h"
#include "../core/MainWindow.h"
+#include "../CutterApplication.h"
#include "../widgets/CutterDockWidget.h"
#include "../plugins/CutterPlugin.h"
diff --git a/src/bindings/bindings.xml b/src/bindings/bindings.xml
index f40652357..be72ca614 100644
--- a/src/bindings/bindings.xml
+++ b/src/bindings/bindings.xml
@@ -13,6 +13,9 @@
+
+
+
diff --git a/src/python/cutter.py b/src/python/cutter.py
index d8c73049a..9a7820c06 100644
--- a/src/python/cutter.py
+++ b/src/python/cutter.py
@@ -6,6 +6,14 @@
def core():
return CutterCore.instance()
+
+ def app():
+ # see https://forums.autodesk.com/t5/3ds-max-programming/qapplication-instance-returns-qcoreapplication-instance/td-p/9035295
+ import shiboken2
+ from PySide2 import QtCore
+ coreapp = QtCore.QCoreApplication.instance()
+ ptr = shiboken2.getCppPointer(coreapp)[0]
+ return shiboken2.wrapInstance(ptr, CutterApplication)
except ImportError:
pass