Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Qt6 #20201

Open
mscheltienne opened this issue Dec 14, 2022 · 9 comments
Open

Support for Qt6 #20201

mscheltienne opened this issue Dec 14, 2022 · 9 comments

Comments

@mscheltienne
Copy link

mscheltienne commented Dec 14, 2022

I looked through the open and close issues, and could not find one related to support for Qt6.
Currently, Spyder does not support Qt6 bindings, PyQt6 and PySide6:

qt_infos = dict(pyqt5=("PyQt5", "5.9"), pyside2=("PySide2", "5.12"))

Do you plan on adding support/changing the default to a Qt6 binding, and on which timeline?

@ccordoba12
Copy link
Member

ccordoba12 commented Dec 15, 2022

Hey @mscheltienne, thanks for reporting. You said

Do you plan on adding support/changing the default to a Qt6 binding,

Yeah, we have to because Qt5 won't receive more updates (i.e. improvements and bugfixes) from the Qt company.

and on which timeline?

We don't have a specific timeline in mind yet, but probably the next year and a half or two years. The thing is we won't get a substantial benefit from moving to Qt6 right now nor most of our users, I'd say, in the sense that Spyder will continue working exactly the same with that new version.

Is there a particular reason you're asking for this?

@mscheltienne
Copy link
Author

Ok, thank you for the update.
MNE-Python is distributed with installers, similarly to Spyder; and despite extensive testing/time spent to theoretically make Qt5 and Qt6 live happily side-by-side, it's causing issues. And I think the last package bundled in the installers that does not support Qt6 is Spyder. For x-ref: mne-tools/mne-installers#163
It's also causing me some headaches from time to time when I'm developing a project using Qt6 (which is why for now I tend to stick to PyQt5 whenever possible).

@ccordoba12
Copy link
Member

ccordoba12 commented Dec 16, 2022

Ok, I see. The problem is we have limited resources and supporting a new Qt version usually takes a single, full time developer two or three months to do it.

@hoechenberger
Copy link

Thanks for your response, @ccordoba12!

cc @larsoner @drammock

@gvizkelethy
Copy link

One advantage of moving to Qt6 is to have native Spyder on M1. Right now Spyder only runs in emulation (Rosetta 2) mode. Actually, it works only with the prebuilt Spyder, Spyder cannot be installed with pip, it fails at the installation of PyQt5, which is obviously not available natively for the M1 site they do not develop this version anymore. On the other hand PqQt6 or PySide6 is available for the M1, we just need Spyder to use one of them.

@hoechenberger
Copy link

One advantage of moving to Qt6 is to have native Spyder on M1. Right now Spyder only runs in emulation (Rosetta 2) mode.

You can install a native build from conda-forge.

conda install --channel=conda-forge mamba
mamba install --override-channels --channel=conda-forge --name=spyder spyder

will install a native arm64 (M1) Spyder build into a newly-created spyder conda environment if you're on an Apple Silicon machine.

@ccordoba12
Copy link
Member

One advantage of moving to Qt6 is to have native Spyder on M1

Not true, as @hoechenberger clearly pointed out.

@gvizkelethy
Copy link

You are probably right, but I do not use Anaconda. I guess I just have to wait until PyQt6 is implemented in Spyder and use the emulation until.

@hoechenberger
Copy link

You are probably right, but I do not use Anaconda. I guess I just have to wait until PyQt6 is implemented in Spyder and use the emulation until.

You don't need to use Anaconda, just the conda package manager, But I do recognize that this is not always an option either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants