3 ms·
Brig: A user interface toolkit for Node.js, which is based on Qt for rendering
- toddmorey 3y agoWhy in a QML file do you set the scale to 0 vs 1? How do you scale down, for example? Edit: was told if you want to hide an element without removing it, setting the scale to 0 could work, but it's more common to use the visibility property, setting it to "false" or "invisible".
- joezydeco 3y agoLooks like the example code does an eased animation on scale. So it makes the widget zoom into view instead of just appearing.
- throwup238 3y agoThis looks like it hasn't been maintained in years but there's a modern equivalent in NodeGUI [1] which also has React/Svelte/Vue implementations. Unfortunately it requires a custom build of Node that merges the libuv and Qt6 event loops so YMMV. It actually inspired me to write my own implementation with Svelte on top of QuickJS and Qt Widgets but the task of wrapping the entire Qt6 API in Rust proved to be intractable once I found out that most methods weren't marked Q_INVOKABLE and thus couldn't be called via reflection (requiring manual wrapping). Providing a `Document.createElement` API that created Qt Widgets with working attributes and event handling worked surprisingly well though! I wonder if using GPT4 to automate the code wrapping it'd be feasible now. [1] https://github.com/nodegui/nodegui https://github.com/nodegui/nodegui
- lioeters 3y agoThere's another project called "Node GUI", which provides Node.js bindings for Yue, a cross-platform GUI library by the same author who originally created Electron. https://github.com/yue/node-gui https://github.com/yue/node-gui https://libyue.com/docs/latest/js/index.html https://libyue.com/docs/latest/js/index.html
- lf-non 3y agoInteresting project but last release was seven years ago.
- pjmlp 3y agoWhile nice, Qt already has the option to include V8, so it hardly brings anything to the table.
- Intralexical 3y agoQJSEngine's Regex implementation is missing something— Lookbehinds, maybe, IIRC— I went to the trouble of setting it up for Ghostery, only for it to not work.