-
-
Notifications
You must be signed in to change notification settings - Fork 153
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
Qtpy is non-functional with PySide 6.7.0 #480
Comments
I came here to see if this was indeed a qtpy issue or a PySide6 issue, and it seems to in fact be some strange interaction: Even reducing the imports to the strict minimum: import sys
from PySide6.QtWidgets import QTreeWidget, QTreeWidgetItem, QTextEdit, QListWidget, QSplitter, QWidget, QApplication, QHBoxLayout
class Example(QWidget): I have a feeling it might be related to: https://bugreports.qt.io/browse/PYSIDE-2675 Will continue to investigate (fyi, I'm not a developer of qtpy, just a mere user trying to help) |
@hmaarrfk, thanks for chiming in and providing additional context for this issue! I doubt that this is a problem with Qtpy because for the most part it's a wrapper for PySide/PyQt (we patch some objects for compatibility between bindings and versions, but we try to keep that to a minimum). |
I really think it has something to do with their lazy import structure. The issue I referred to and some notes from https://wiki.qt.io/Qt_for_Python_Development_Notes hint that they are working through a few things with it.
"works" |
So FYI, for my code, I had to add above all other qtpy wigets imports and whatnot import qtpy
if qtpy.PYSIDE6:
from PySide6.QtWidgets import QWidget with an adequate note as to when it can be removed. It isn't ideal, but it "works". |
It should be noted that I'm not lazy importing in production code, just in the example. That said, I suspect the solution you provided will work. Its not ideal, but it should work. I'll have to try it out when I return to the office on Monday. |
The screenshot of their development notes indicates that * importing may be a source of problems. This compatibility layer uses star style imports. |
I wonder if it works again If one unrolls ALL members that would be imported via ...
elif PYSIDE6:
import PySide6.QtCore
from PySide6.QtCore import (
ClassInfo, MetaFunction, Property, QAbstractAnimation, QAbstractEventDispatcher,
QAbstractItemModel, QAbstractListModel, QAbstractNativeEventFilter, QAbstractProxyModel,
QAbstractTableModel, QAnimationGroup, QBasicMutex, QBasicTimer, QBitArray, QBuffer,
QByteArray, QByteArrayMatcher, QCborArray, QCborError, QCborKnownTags, QCborMap,
QCborParserError, QCborSimpleType, QCborStreamReader, QCborStreamWriter,
QCborStringResultByteArray, QCborStringResultString, QCborValue, QChildEvent, QCollator,
QCollatorSortKey, QCommandLineOption, QCommandLineParser, QCoreApplication,
QCryptographicHash, QDataStream, QDate ... (snip from qtpy/QtCore.py) Probably. I'm not gonna try for my hobby projects (will simply deprecate PySide2 support) |
Ah, my bad, I misread what you'd originally entered. |
because of PySide6.7.0 bug https://bugreports.qt.io/browse/PYSIDE-2675 spyder-ide/qtpy#480
Does anyone have quickfix / hack to make |
I think there's no workaround possible at the moment, sorry. |
PySide6 v6.7 is BRAND new. Why not just use PySide6 v6.6.1 until various devs can catch up? There's a reason |
FYI: this might be fixed in 6.7.1 |
Thanks @psobolewskiPhD for the note. I'm going to close this issue then. However, it's important to note that PySide 6.8.0 broke star imports again (or at least the QtCore one), as reported on issue #494. |
PySide 6.7.0 just came out, and it appears to have broken things in QtPy, in particular with QSplitter. For the moment I'm limiting my application to PySide6~=6.6.0, but that's not ideal for the long run.
The following example code works when the
from qtpy.
calls are replaced withfrom PySide6.
. It also works when a PySide6 version less than 6.7.0 is used, or when any version of PyQt is used.However, when run as provided, it throws the following error.
The text was updated successfully, but these errors were encountered: