ScintillaQuick brings the Scintilla editing engine
to Qt Quick as a QQuickItem. Embed it from C++ or QML and use Scintilla's message
API through send() to configure editor behavior.
It supports Qt Quick focus and input, IME, and scene-graph rendering, with a built-in find/replace panel. Optional Lexilla support and a default syntax companion provide syntax highlighting; see the integration guide.
- CMake
3.25+, a C++20 compiler, and Qt6.12+(Core,Gui,Qml,Quick) - Windows, Linux, or macOS
cmake -S . -B build
cmake --build build
cmake --install build --prefix <install-prefix>Set CMAKE_PREFIX_PATH to the installation prefix in your application, then
link the exported target:
find_package(ScintillaQuick CONFIG REQUIRED)
target_link_libraries(my_app PRIVATE ScintillaQuick::ScintillaQuick)For QML, include <scintillaquick/scintillaquick_item.h> in your C++ startup and
call register_scintilla_type() before loading QML. Then create the editor:
import QtQuick
import QtQuick.Window
import ScintillaQuick 1.0
Window {
width: 800
height: 500
visible: true
ScintillaQuick_item {
anchors.fill: parent
focus: true
text: "Hello from ScintillaQuick\n"
}
}For C++, see the runnable minimal editor and its build instructions.
- Getting Started: build options, C++/QML integration, find/replace customization, and syntax highlighting
- Public API and Known Limitations
- Architecture and Maintenance Invariants: source map, vendored changes, and validation guidance
Project code is released under the BSD 2-Clause license. See
LICENSE.
The repository also vendors Scintilla under its own license. See
third_party/scintilla/LICENSE.