The Qt5 compatibility code is now off by default, which may break some add-ons that haven't been updated to support Qt6 in the last 2 years. If you find any have broken, please report the issues to the add-on author, and start Anki after setting the env var ENABLE_QT5_COMPAT to 1 to temporarily restore the compatibility code.
Reproduction step
Steps to reproduce the behavior:
Go to '...'
Click on '....'
Scroll down to '....'
See error
Expected behavior
A clear and concise description of what you expected to happen.
Actual behavior
Error
Un complemento que has instalado ha fallado al cargarse. Si los problemas persisten, por favor ve a Herramientas> Menú de complementos o deshabilita este complemento.
Mientras cargando 'Cloze Hide All':
Traceback (most recent call last):
File "aqt.addons", line 239, in loadAddons
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\__init__.py", line 24, in <module>
from .utils import openChangelog
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\utils\openChangelog.py", line 21, in <module>
from .configrw import getCurrentAddonName, setConfig
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\utils\configrw.py", line 18, in <module>
from ..qdlg import observable
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\__init__.py", line 16, in <module>
from .widgets import * # NOQA
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\widgets\__init__.py", line 16, in <module>
from .layout import VStack, HStack # NOQA\
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\widgets\layout.py", line 18, in <module>
from ..utils import addLayoutOrWidget
File "C:\Users\Khonkhortisan\AppData\Roaming\Anki2\addons21\1709973686\qdlg\utils.py", line 16, in <module>
from PyQt5.Qt import QLayout, QWidget
ModuleNotFoundError: No module named 'PyQt5'
Anki/OS versions
OS: Windows 10
Anki version 23.10 beta 6 (72e57456) Python 3.9.15 Qt 6.5.2 PyQt 6.5.2
Additional context
Is qdlg really necessary?
qdlg/utils.py
try:
from PyQt6.QtWidgets import QLayout, QWidget
except ImportError:
from PyQt5.Qt import QLayout, QWidget
qdlg/widgets/layout.py
try:
from PyQt6.QtWidgets import QVBoxLayout, QHBoxLayout
except ImportError:
from PyQt5.Qt import QLayout, QWidget
qdlg/widgets/Text.py
try:
from PyQt6.QtWidgets import QLabel
except ImportError:
from PyQt5.Qt import QLabel
qdlg/widgets/Shortcutable.py
try:
from PyQt6.QtGui import QKeySequence
except ImportError:
from PyQt5.Qt import QKeySequence
qdlg/widgets/Button.py
try:
from PyQt6.QtWidgets import QPushButton
from PyQt6.QtGui import QKeySequence
except ImportError:
from PyQt5.Qt import QPushButton, QKeySequence
qdlg/widgets/LineEdit.py
try:
from PyQt6.QtWidgets import QLineEdit
except ImportError:
from PyQt5.Qt import QLineEdit
qdlg/widgets/Checkbox.py
try:
from PyQt6.QtWidgets import QCheckBox
except ImportError:
from PyQt5.Qt import QCheckBox
qdlg/widgets/RadioButton.py
try:
from PyQt6.QtWidgets import QRadioButton
except ImportError:
from PyQt5.Qt import QRadioButton
qdlg/widgets/ListBox.py
try:
from PyQt6.QtWidgets import QListWidget, QListWidgetItem, QAbstractItemView
from PyQt6.QtCore import Qt, QPoint
except ImportError:
from PyQt5.Qt import QListWidget, QListWidgetItem, Qt, QPoint, QAbstractItemView
qdlg/widgets/Table.py
try:
from PyQt6.QtWidgets import QGridLayout, QVBoxLayout
except ImportError:
from PyQt5.Qt import QGridLayout, QVBoxLayout
qdlg/widgets/Group.py
try:
from PyQt6.QtWidgets import QGroupBox, QVBoxLayout
except ImportError:
from PyQt5.Qt import QGroupBox, QVBoxLayout
qdlg/qdlg.py
try:
from PyQt6.QtWidgets import QDialog, QVBoxLayout
from PyQt6.QtCore import Qt
except ImportError:
from PyQt5.Qt import QDialog, QVBoxLayout, Qt
Bug report
Describe the bug
Reproduction step
Expected behavior
Actual behavior
Anki/OS versions
Additional context
Is qdlg really necessary? qdlg/utils.py
qdlg/widgets/layout.py
qdlg/widgets/Text.py
qdlg/widgets/Shortcutable.py
qdlg/widgets/Button.py
qdlg/widgets/LineEdit.py
qdlg/widgets/Checkbox.py
qdlg/widgets/RadioButton.py
qdlg/widgets/ListBox.py
qdlg/widgets/Table.py
qdlg/widgets/Group.py
qdlg/qdlg.py