Skip to content

Support PySide6 in Compat #632

Open
Open
@ejmeitz

Description

@ejmeitz

Is your feature request related to a problem? Please describe.
I am wrapping a library which depends on PySide6 and I always hit the error

qt.core.plugin.factoryloader: checking directory path "C:/Users/ejmei/.julia/juliaup/julia-1.11.2+0.x64.w64.mingw32/bin/platforms" ...
qt.qpa.plugin: Could not find the Qt platform plugin "windows" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

This output is with the QT_DEBUG_PLUGINS env variable turned on. Its looking for the platforms in definitely the incorrect place (the julia bin dir). I believe the function in Compat designed to fix this issue (or a similar issue), but does not support PySide6. It would also be nice to support the event loop, but I am less certain of what needs to be done to get that working.

There is a plugins directory here:
.CondaPkg\.pixi\envs\default\Library\lib\qt6\plugins
and this is correctly set in the conf file, so I'm not really sure why qt is looking in my julia folder.

Describe the solution you'd like

The fix_qt_plugin_path function looks for the qt.conf file. For PySide6, this file seems to be called qt6.conf instead. I am not sure what the format of the other conf files are but I copied enough into the "addition context" section (including the relevant prefix variable). The existing function seems to just add plugins to the Prefix entry of the conf file. However that is not a folder is correctly specified in the conf (even though qt seems to be looking elsewhere). Maybe something else needs to change, I am not 100% sure.

Additional context

qt6.conf file contents

[Paths]                                                     
Prefix = D:/Code/repos/PyVITO/.CondaPkg/.pixi/envs/default                                      
Documentation = D:/Code/repos/PyVITO/.CondaPkg/.pixi/envs/default/Library/share/doc/qt6         
Headers = D:/Code/repos/PyVITO/.CondaPkg/.pixi/envs/default/Library/include/qt6                            
Libraries = D:/Code/repos/PyVITO/.CondaPkg/.pixi/envs/default/Library/lib
.... 

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions