[Interest] unnecessary files in qrc system in webassembly

Adam qt_interest at xibo.at
Wed Feb 7 09:48:34 CET 2024


Cool, thanks!

I've replaced it with a custom colour chooser from git already :)

cheers, Adam

On 07/02/2024 02:09, Mike Trahearn wrote:
>
> Aha – you nailed it!
>
> Yes, presently the Qt Quick Dialogs do not style in the same way as 
> the compile time styles do for the rest of Qt Quick Controls.
>
> Unfortunately these are still using File Selectors under the hood to 
> pull out the correct QML at run-time according to the style that is set.
>
> Therefore it is necessary to include all styles’ QML files for the 
> non-native dialog implementations whether you are going to use them or 
> not – simply because there is no current way to let the compiler know 
> this in advance.
>
> Qt are aware of this and I understand that Mitch and Fabian have been 
> working on something of a proper solution which may help in the long run:
>
> https://codereview.qt-project.org/c/qt/qtdeclarative/+/476748 
> <https://urldefense.com/v3/__https:/codereview.qt-project.org/c/qt/qtdeclarative/*/476748__;Kw!!Nbma_1s!sJaDFZor5935rQPXkPofNIRMZdWXlSXnJx1ffjiblRUJvup2d01cv_MfJXd4EIVJlOlOaAC1DMyhXL8O-A$>
>
> https://bugreports.qt.io/browse/QTBUG-120056
>
> But for now, not much can be done about it.
>
> Mike
>
> *From: *Interest <interest-bounces at qt-project.org> on behalf of Adam 
> <qt_interest at xibo.at>
> *Date: *Wednesday, 7 February 2024 at 4:31 am
> *To: *interest at qt-project.org <interest at qt-project.org>
> *Subject: *Re: [Interest] unnecessary files in qrc system in webassembly
>
> Hi,
>
> so I tracked it down to the import of QtQuick.Dialogs. When I import 
> it, the size of the wasm file increases from iirc 34mb to 40, and my 
> debug output shows the fusion and imagine style (plus some others). It 
> makes sense as there are a bunch of native dialogs in there. though i 
> don't know whether they are usable via wasm. In case somebody is finds 
> this, do a full rebuild after removing dialogs. Seems like caching is 
> at work there.
>
> I don't know whether this is a bug or not. These styles don't show in 
> native compilation on linux. and it's certainly surprising, that 
> adding a colour dialogue adds 6mb on your wasm file.
>
> should i report it as a bug?
>
> thanks for the answer, it helped understanding the issue :)
>
> cheers, Adam
>
> On 04/02/2024 17:35, Adam wrote:
>
>     Hi,
>
>     I'm using Qt 6.6.1 and cmake.
>
>     I have imports like this:
>
>     import QtQuick
>     import QtQuick.Controls.Material
>     import QtQuick.Layouts
>     import QtQuick.Dialogs
>
>     at one point i'm also importing QtQuick.Controls.Universal.
>
>     i also verified that at no point i'm importing QtQuick.Controls
>     alone. i'm linking in CMakeLists.txt via:
>     target_link_libraries(alpineapp PUBLIC nucleus gl_engine Qt::Quick
>     Qt::QuickControls2 Qt::Charts) // Charts removed on my other
>     workstation with no change.
>
>     this is the CMakeLists.txt i'm using (along with the rest of the
>     project:
>     https://github.com/adam-ce/alpine_renderer/blob/main/app/CMakeLists.txt
>     <https://urldefense.com/v3/__https:/github.com/adam-ce/alpine_renderer/blob/main/app/CMakeLists.txt__;!!Nbma_1s!rrg6SQO0VebmrkHkCIbpQgK3ju5OecGxvICtkCkGOnnpK3EhS0bKV8AzkCdgAryMH7mqv3zZhfh78Gil1rNp9g$>
>     with automatic builds at
>     https://adam-ce.github.io/alpine_renderer/wasm_singlethread/alpineapp.html
>     <https://urldefense.com/v3/__https:/adam-ce.github.io/alpine_renderer/wasm_singlethread/alpineapp.html__;!!Nbma_1s!rrg6SQO0VebmrkHkCIbpQgK3ju5OecGxvICtkCkGOnnpK3EhS0bKV8AzkCdgAryMH7mqv3zZhfh78GjBgsCSoQ$>
>
>     interestingly, on a desktop build, only commonstyle and macstyle
>     are imported (no material style, but it's there in the app).
>
>     I also just tried the calqlatr example, replacing the only import
>     of QtQuick.Controls i found with QtQuick.Controls.Material and
>     adding my debug code for printing styles. The result is import of
>     the imagine, basic and fusion style, but surprisingly not material.
>
>     I'll try to setup a minimal example on tomorrow.
>
>     Thanks, Adam
>
>     On 02/02/2024 18:29, Mike Trahearn wrote:
>
>         Hi Adam,
>
>         How are you using the styles in QML?
>
>         Are you importing QtQuick.Controls (only) or are you using
>         specific style imports?
>
>         Which version of Qt? CMake assumed?
>
>         Assuming the latter and at least Qt 6.2, CMake will only build
>         in the libraries it absolutely needs. But for this to be the
>         case, it needs to know what it needs. Using just import
>         QtQuick.Controls relies on run-time style selection (for which
>         there are different ways to select, all nicely documented). In
>         this case the compiler cannot know in advance which to
>         include, so it has to bring in all of them just in case you
>         run post-build with a different style however it selects it.
>
>         For compile-time style selection, you import
>         QtQuick.Controls.Basic/Fusion/Universal .... being specific.
>         Or.. you can use your own style and not Qt Quick Controls at
>         all (albeit it is sometimes hard to not use some of its nice
>         helper types). In this case the compiler only compiles what it
>         needs and there would be nothing in CMake that generates a qrc
>         file with all the run-time style options.
>
>         Very obviously this is not your observation so more details on
>         your Qt Quick Controls usage and how you choose your styles
>         and any relevant CMake project/module info would be helpful
>         for someone here to better understand your specific case and
>         more importantly, if there might be a bug.
>
>         Mike
>
>         ------------------------------------------------------------------------
>
>         *From:* Interest <interest-bounces at qt-project.org>
>         <mailto:interest-bounces at qt-project.org> on behalf of Adam
>         <qt_interest at xibo.at> <mailto:qt_interest at xibo.at>
>         *Sent:* Saturday, February 3, 2024 1:19:35 AM
>         *To:* interest at qt-project.org <interest at qt-project.org>
>         <mailto:interest at qt-project.org>
>         *Subject:* [Interest] unnecessary files in qrc system in
>         webassembly
>
>         Hi,
>
>         I'm building a QML app for WebAssembly using CMake. When
>         debugging
>         something else, I printed all files that are in the qrc
>         system. Doing
>         that, I saw, that the macos, universal and fusion styles are all
>         compiled in. There are also a bunch of icons for file
>         dialogues etc. I'm
>         not using them, and they increase the binary (wasm) size.
>
>         Is there any way to remove them?
>
>         Thanks, Adam
>         _______________________________________________
>         Interest mailing list
>         Interest at qt-project.org
>         https://urldefense.com/v3/__https://lists.qt-project.org/listinfo/interest__;!!Nbma_1s!q_zp_FnMrj7V43gyg_CdBBz6Br1KloWsNn1N5NtNXoQV-C6EsxxNRRAVLmKUbGLAfOkoCdgPaE6q65wqyhXoNg$
>         <https://urldefense.com/v3/__https:/lists.qt-project.org/listinfo/interest__;!!Nbma_1s!q_zp_FnMrj7V43gyg_CdBBz6Br1KloWsNn1N5NtNXoQV-C6EsxxNRRAVLmKUbGLAfOkoCdgPaE6q65wqyhXoNg$>
>
>
>         Confidentiality Notice: This message (including attachments)
>         is a private communication solely for use of the intended
>         recipient(s). If you are not the intended recipient(s) or
>         believe you received this message in error, notify the sender
>         immediately and then delete this message. Any other use,
>         retention, dissemination or copying is prohibited and may be a
>         violation of law, including the Electronic Communication
>         Privacy Act of 1986.   ­­
>
>
>
>     _______________________________________________
>
>     Interest mailing list
>
>     Interest at qt-project.org
>
>     https://lists.qt-project.org/listinfo/interest  <https://urldefense.com/v3/__https:/lists.qt-project.org/listinfo/interest__;!!Nbma_1s!rrg6SQO0VebmrkHkCIbpQgK3ju5OecGxvICtkCkGOnnpK3EhS0bKV8AzkCdgAryMH7mqv3zZhfh78GiJHCHFZQ$>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20240207/75058d8c/attachment-0001.htm>


More information about the Interest mailing list