nsuke / protobuf-qml Goto Github PK
View Code? Open in Web Editor NEWProtocol Buffers and gRPC binding for QML (QtQuick2)
License: MIT License
Protocol Buffers and gRPC binding for QML (QtQuick2)
License: MIT License
Could not compile with Qt 5.9.
I found commit in QtQML #qt/qtdeclarative@8a63837 which deprecates QQmlContextWrapper
So, they changed corresponding API in Qt 5.8...
FAILED: lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o
/usr/bin/c++ -DPROTOBUF_QML_EXPORT -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_LIB -DQT_QUICK_LIB -Dprotobuf_qml_core_EXPORTS -Ilib/protobuf -I../../lib/protobuf -Ilib/protobuf/protobuf-qml-core_autogen/include -I../../compiler -isystem /usr/include/qt/QtQml/5.9.0 -isystem /usr/include/qt/QtQml/5.9.0/QtQml -isystem /usr/include/qt/QtNetwork/5.9.0 -isystem /usr/include/qt/QtNetwork/5.9.0/QtNetwork -isystem /usr/include/qt/QtCore/5.9.0 -isystem /usr/include/qt/QtCore/5.9.0/QtCore -isystem ../../build/deps/Release/include -I../../lib -isystem /usr/include/qt -isystem /usr/include/qt/QtQuick -isystem /usr/include/qt/QtQml -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtGui -Wno-inconsistent-missing-override -fdiagnostics-color -Wall -Wextra -Wno-unused-parameter -O3 -DNDEBUG -fPIC -fPIC -std=gnu++11 -MD -MT lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o -MF lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o.d -o lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/v4/v4util.cpp.o -c ../../lib/protobuf/qml/v4/v4util.cpp
../../lib/protobuf/qml/v4/v4util.cpp:3:10: fatal error: private/qqmlcontextwrapper_p.h: No such file or directory
#include <private/qqmlcontextwrapper_p.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[67/141] Building CXX object lib/protobuf/CMakeFiles/protobuf-qml-core.dir/qml/conversions.cpp.o
ninja: build stopped: subcommand failed.
Like QList, define count, size and length methods.
In QML, console.log on a message prints only "Object object".
Move those tests that use "legacy" API to a sub-directory.
Something like sending object through QtWebChannel.
Problem is that currently there's no binary support in QML out of the box.
Plan A is to implement thin QByteArray wrapper as part of the library code.
Plan B is to wait for ongoing upstream ArrayBuffer/TypedArray implementation.
$ sudo add-apt-repository ppa:beineri/opt-qt55-trusty
Cannot add PPA: 'ppa:beineri/opt-qt55-trusty'.
Please check that the PPA name or format is correct.
/usr/local/src/protobuf-qml$ ./tools/build_dependencies.py --shared
...
Traceback (most recent call last):
File "setup.py", line 11, in <module>
from setuptools import setup, Extension, find_packages
ImportError: No module named setuptools
[/usr/bin/python setup.py build] failed with exitcode 1.
Currently generated code uses simple key-values.
Since a part of benefit using schematized messages comes from code safety, API with setter/getter might better suite here.
That way, an invalid method call results in QML error.
Currently, oneof message field does not work.
oneof case enum has little benefit over plain string in Javascript.
Especially repeated field methods need more explanation.
It would be good idea to provide a docker image for protoc v3 with qml plugin
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.