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

Reply via email to