Indeed. And a big thanks to Charles for making a small research project into a fully developed and supported feature in time for Qt 5. That is is also a reminder to those skeptical about Qt Quick for Desktop being only a research project. :)
Perhaps it is time to blog about it on labs as well Charles? It is a very useful addition to the language and will also make it much easier to migrate between Qt Quick and HTML 5 or even QWidget/QPainter code. Regards, Jens Bache-Wiig On Oct 11, 2011, at 1:02 PM, Yin Charles (Nokia-MP/Brisbane) wrote: >> I had the same reaction last year. Which is why I created: >> http://qt.gitorious.org/qt-labs/qmlcanvas > > > And it's officially supported by QtQuick2 now, thank you very much Jens. > > Charles > > On 10/10/11 6:35 PM, "ext [email protected]" > <[email protected]> wrote: > >> As someone pointed out, my new mail client was somewhat confused about >> quotations on this mailing list. :) >> Hopefully this will make my previous post a bit more readable: >> >>> Try to draw some line diagrams in qml please. >>> HTML5 Canvas no problem. >>> QML ? Please write your own c++ class that you register at qml. >> >> I had the same reaction last year. Which is why I created: >> http://qt.gitorious.org/qt-labs/qmlcanvas >> >> In Qt 5, html5 Canvas is part of the language. >> >>> BUT ... how can i create 100 of them without extreme large development >>> overhead ? >>> I can't. In C++ it is only >>> SysButton* newButton = new SysButton ( myUIContainer, sysName ); >>> FINISHED ! >> >> Depends on your use case. Sounds indeed like you could use a model. But >> if that sounds >> too heavy handed. You can use a Repeater: >> >> Repeater { >> model: 100 >> SysButton {} >> onItemAadded: { initialize button } >> } >> >> And if you prefer something closer to C++, you create a button Component >> and instantiate it: >> var sysButton = buttoncomponent.createObject(conainer) >> >>> What is with layout ? i have no idea of how to create a real working >>> dynamic layout in qml. >>> It is just not working in real world situations. Yes it may be possible >>> by using hacks and thousand of lines of javascript code, but this is >>> just not practical. >>> We thought in the end even about creating hundred of qml views in the >>> end that are controlled by c++. >> >> It is a bit hard to answer without seeing a picture of what you want to >> achieve. In general you can get far with the built in layouts and >> anchoring. I have written some layouts in javascript though. If there are >> valid use cases, I certainly see that we might add more complex layouts >> in Qt Quick 2. Perhaps you are making things a bit more difficult by >> avoiding the model and being explicit about the buttons. A GridView >> sounded like a good fit for an explorer type layout of icons or buttons. >> But I also wonder how you did the layout easily in html5. >> >>> How can i connect the QML SysButtons ? Only if i make all my systems >>> accessible to qml (wich are in the end several thousand objects that i >>> have to make accessible. >>> And doing this IS a large overhead runtime and development wise) >> >> I don't know enough about the use case or why these buttons are so >> complex. How do you connect it in C++? Your button has an index. Can't >> you simply have a buttonClicked(int) slot on the C++ side? >> >>> Because debugging IS a REAL nightmare. >>> Whatever you say i can say from my metrics that using qml took as more >>> than 12 times longer for the current tests than with qwidgets. >>> And yes there is stuff like learning time. But the debugging is just >>> real shit and i know why i say shit. >> >> Debugging can certainly get better. It is already a lot better than it >> was a year ago if you use the tools available. I agree that a C++ >> application at the moment feels more predictable. >> >>> We dont have ANY designer who can code. Yes they CAN hack some >>> javascript yay. But that is exactly the SHIT that costs time. >>> Because they can't code, they can only hack some stuff into it, That is >>> untested, in many cases not working and just (if you need to integrate >>> more complex functionality) way to much for them. >> >> Regular designers should not have write code. Web designers with >> javascript skills might have the skill set required. I personally find it >> a lot easier to implement complex UI designs in QML than with C++ though. >> Our designers usually just send us pretty pictures and tell us how they >> want it to work. And if they ask me to tweak the margin a few pixels, I >> know it takes me 5 seconds to try it out in Qt Quick without having to >> recompile the whole project. But having a designer taking over the actual >> interface code is probably not a good idea. You can keep all your code in >> .js files if you want to. Perhaps we should introduce a flag in Qt Quick >> that enforces that as a policy. I think the majority would prefer the >> convenience of being able to do a simple signal emission inline though. >> >>> So we tried another approach ... we use javascript and html5 and what >>> to say ? >>> it works better in our case because there is a separation between >>> layout, look and code. >> >> I thought html5 was every bit as javascript enabled as Qt Quick. But it >> is great that you found a technology that works for your project. Qt >> supports and strongly encourages html5 hybrid development. In fact we are >> pushing it more than ever. It is not the solution for everyone though. I >> don't think you could do a full native looking UI with it for instance. >> >> Regards, >> >> Jens Bache-Wiig >> _______________________________________________ >> Qt5-feedback mailing list >> [email protected] >> http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback >> >> _______________________________________________ >> Qt5-feedback mailing list >> [email protected] >> http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback > _______________________________________________ Qt5-feedback mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback
