[Interest] qt_add_qml_module() RESOURCES vs qt_add_resources()

ekke ekke at ekkes-corner.org
Sun Feb 18 14:07:04 CET 2024


Hi Mike,
thanks for your great answer.
I can second your advices.
ekke

Am 17.02.24 um 01:00 schrieb Mike Trahearn via Interest:
> My second advice is more for Ulf - despite your best efforts to 
> educate people in how QML modules have changed the way we should think 
> about our QML organisation since Qt 5, people still have trouble 
> grasping these points:
>
> a) what is a QML module anyway? You say whaaaat? Yes, people are still 
> on Qt5 with a Qt5 mindset. It took me ages to work out how to retrain 
> my thinking - and it does for others too. But I would add it is well 
> worth it and does make life a lot easier when you set it up.
> Alexandra Betouni's recent #QtStories article leans into exactly this 
> point (it's a great read and I absolutely echo her observations and 
> sentiments).
>
> b) the thing Ulf and I spoke about in Berlin, which was the very basic 
> fundamental structure of a relatively simple app where all the modules 
> are defined under the "recommended" structure which is guaranteed to 
> work without any fiddling. This is a great starting point for 
> learners, new projects and so on. However...
>
> c) For many people, like those here, are not starting from an ideal 
> place of legacy and in Ulf's words, already using and relying on 
> "degenerate modules".
>
> While this is unfortunate, it happens and Qt5 allowed that to happen. 
> So when we move things to Qt6 we have a number of steps to consider.
>
> 1) moving to CMake
> 2) formally defining the QML modules in CMake
> 3) fixing all the QML so it works within the rules
> 4) going back to CMake to fix the module definitions according to the 
> *allowed* additional properties having considered their exacting 
> requirements and rationale.
>
> This has been my own experience so I know what I'm talking about and 
> understand both the pain and the frustration and have vented myself at 
> "why doesn't it work like I expect" and poor Ulf has copped my wrath 
> on more than on occasion. However, I am educated now and we are still 
> friends.
>
> d) Ulf write a great little blog series about QML Modules back around 
> Qt6.2. But when you look at those now, some of the information there 
> is dated although the principles are sound.
>
> So Ulf, with your inimitable fashion of freely advising not to use 
> foot guns and with your unique sense of humour, would you be prepared 
> to write an updated blog - yay verily may I suggest work with Ash 
> Walton and get it up on the Qt Academy?
> I would suggest and recommend it as absolute mandatory reading for 
> anyone. I'd even go as far to say "did you do that course" as a first 
> response.
>
> There would be some simple steps to cover based on just reworking that 
> blog series:
>
> 1 - how it used to be in Qt5 (and why it needed to change)
> 2 - What is a QML module
> 3 - Plugin and Backing targets (most confusing for some) and when to 
> link to what given static or shared configurations
> 4 - simple application structure
> 5 - a nod to the resource prefix and the new load component main.cpp 
> bootstrap.
> 6 - a reasoned example (image provider) where you have to use one of 
> the NO options and how a "do it yourself" plugin class looks like.and 
> works in practice.
> 7 - alternative workarounds for where your source structure cannot 
> match the default expected structure, but how to at least exchange 
> bullets for liquorice in your foot gun if you have to (like me - I 
> don't like the taste, but I don't eat with my feet).
> 8 - the code model is gleaned from the build folder NOT the source folder.
> 9 - you don't need to write qmldir or qmltypes
> 10 - how to declare singletons and internal types.
> 11 - if you are feeling sadistic you could also cover singletons and 
> ownership but don't be cruel.
>
> There's obviously scope for breaking this up into a learning path with 
> several short courses inside building on the last.
>
> I really think this would be gold in the hands of the reader in 
> helping them get past this quite large code and paradigm change into a 
> world of much more power, flexibility and productivity.
>
> I do hope you get your project into the shape you need. It does sound 
> like  but of a pickle at the moment but it is not going to be 
> difficult to get you straight so do not fear or get frustrated.
>
> We will get you there!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20240218/52c879ed/attachment.htm>


More information about the Interest mailing list