- Issue 359 - Release QtPy 2.2.0
- Issue 352 - Deprecation Warning for Enum Access (PR 353 by @CAM-Gerlach)
- Issue 351 -
PySide6.QtSvgWidgets
not exposed - Issue 302 - Compat shiboken and sip like Qt.py (PR 354 by @zjp)
- Issue 61 - Add documentation for methods or helpers that are specific to qtpy (PR 357 by @dalthviz)
In this release 5 issues were closed.
- PR 358 - PR: Fix PyQt6 typing import for Qt, by @tlambert03
- PR 357 - PR: Add initial
Methods, helpers and QtPy namespace specifics
section to the README, by @dalthviz (61) - PR 354 - PR: Add wrapper around sip/shiboken isdeleted/isvalid (compat.py), by @zjp (302)
- PR 353 - PR: Add note to readme about use with Pyright, by @CAM-Gerlach (352)
- PR 350 - PR: Restore
WEBENGINE
constant inQtWebEngineWidgets
, by @ccordoba12 - PR 346 - PR: Add workaround for
mode
argument in QTextCursor.movePosition (PySide6), by @rear1019 - PR 344 - PR: Add missing imports and modules, by @DaelonSuzuka
In this release 7 pull requests were closed.
- New CLI to get mypy arguments and check QtPy version
- Remove Python 3.6 support
- Fix
QT_API
environmental variable handling so new processes get the correct value whenQt_API
is not initially set - Change try order for bindings in case the
QT_API
environmental variable is not set i.ePyQt5 - PySide2 - PyQt6 - PySide6
- Issue 342 - Change bindings
try order
to follow QtPyv1.x
convention (PR 343 by @dalthviz) - Issue 338 - Release QtPy 2.1.0
- Issue 336 - Segfaulting tests on PyQt6 + Windows on both Py3.7 and 3.10 (no conda) probably due to PyQt 6.3.0 (PR 335 by @dalthviz)
- Issue 332 - Remove
QHeaderView
patch (PR 334 by @dalthviz) - Issue 327 - Missing
QtCore.Qt.MidButton
alias forQtCore.Qt.MouseButton.MiddleButton
with PyQt6 (PR 328 by @dalthviz) - Issue 323 - Fix test suite failing at collection on Python 3.10 in Pytest 7.x (PR 324 by @CAM-Gerlach)
- Issue 297 - Drop Python 3.6 support (PR 329 by @dalthviz)
- Issue 265 - Investigate and (hopefully) resolve segfaults and other issues in UIC tests (PR 335 by @dalthviz)
- Issue 216 - Support type hints and mypy (PR 337 by @CAM-Gerlach)
In this release 9 issues were closed.
- PR 343 - PR: Change bindings
try order
to bePyQt5, PySide2, PyQt6, PySide6
, by @dalthviz (342) - PR 341 - PR: Add workaround for
mode
argument in QTextCursor.movePosition (Pyside2), by @rear1019 - PR 340 - PR: Fix bug with environ handling, by @larsoner
- PR 337 - PR: Add command line support for Mypy, by @CAM-Gerlach (217, 216)
- PR 335 - PR: Fix uic skipped tests and PyQt 6.3.0 segfaulting tests, by @dalthviz (336, 265)
- PR 334 - PR: Remove
QHeaderView
patch related files, by @dalthviz (332) - PR 333 - PR: Skip import of QOpenGLTime* on architectures where not available, by @juliangilbey
- PR 331 - PR: Use QFileDialog.Option to be compatiable with Qt6, by @frmdstryr
- PR 330 - PR: Fix typo in constant name, by @eyllanesc
- PR 329 - PR: Drop support for Python 3.6, by @dalthviz (297)
- PR 328 - PR: Add missing
Qt.MidButton
on PyQt6, by @dalthviz (327) - PR 326 - PR: Add missing
QWebEngineScript
support for PyQt5/6 and PySide2/6, by @EasyIsrael - PR 325 - PR: Monkey patch
pyside2uic
UIParser.readResources
for Python 3.9 compatibility, by @n-elie - PR 324 - PR: Restrict broken Pytest versions to those not affected by the Pytest 7.0.0 import-mode=importlib behavior regression, by @CAM-Gerlach (323)
In this release 14 pull requests were closed.
- Issue 320 - Release QtPy 2.0.1
- Issue 316 - Tests for instance methods alias mapping fix (exec_ vs exec and others) (PR 317 by @dalthviz)
- Issue 311 -
QtCore.Qt.mightBeRichText
undefined in PySide (PR 313 by @dalthviz) - Issue 306 - Qt6: missing unscoped enum values (PR 314 by @dalthviz)
- Issue 305 - Qt6: exec_ vs. exec (PR 308 by @kumattau)
- Issue 304 - Qt6: QtCharts namespace incompatibility (PR 315 by @dalthviz)
In this release 6 issues were closed.
- PR 319 - PR: Promote enum aliases, by @MatthieuDartiailh
- PR 317 - PR: Add missing tests for aliased methods, by @dalthviz (316)
- PR 315 - PR: Add
QtCharts
alias for backward compatibility with 1.x, by @dalthviz (304) - PR 314 - PR: Add mapping for missing enum values aliases on
QtCore.Qt
, by @dalthviz (306) - PR 313 - PR: Add missing
QtGui
utility function toQtCore.Qt
for PySide bindings, by @dalthviz (311) - PR 312 - PR: Add "New features" section for version 2.0 to changelog, by @ccordoba12
- PR 309 - PR: Set CI job's timeout to 10 min to force a stalled test to terminate, by @kumattau
- PR 308 - PR: Fix mappings of instance method and slot alias (PyQt6 and PySide6), by @kumattau (305)
- PR 307 - PR: Add missing imports in QtOpenGL, by @renefritze
In this release 9 pull requests were closed.
- Add support for PyQt6 and PySide6 with Qt 6 >= 6.2.0
- Add support for QtTextToSpeech.
- Drop support for PyQt4, PySide and Python 2.
- Issue 300 - Release QtPy 2.0.0
- Issue 286 - PySide6 DeprecationWarning of exec_ (PR 287 by @kumattau)
- Issue 274 - SignalInstance, Slot, and Property for Qt6 QtCore
- Issue 270 - Port packaging from deprecated legacy builder to current PEP 517 standards (PR 272 by @CAM-Gerlach)
- Issue 269 - Add CI testing and official support for Python 3.10 (PR 296 by @CAM-Gerlach)
- Issue 267 - Coveralls shows 0 coverage despite coverage report and runner output looking fine (PR 268 by @CAM-Gerlach)
- Issue 258 - Compatibility with
QtWidgets.QOpenGLWidget
vsQtOpenGLWidgets.QOpenGLWidget
(PR 259 by @kumattau) - Issue 257 - Check import behavior for QtCharts module (PR 260 by @dalthviz)
- Issue 253 - Declare and test support up to Python 3.9 and PyQt6 (PR 262 by @CAM-Gerlach)
- Issue 250 - Drop Python 2 support (PR 251 by @dalthviz)
- Issue 234 - distutils.LooseVersion is being deprecated (PR 266 by @CAM-Gerlach)
- Issue 233 - PyQt6 support (PR 294 by @CAM-Gerlach)
- Issue 232 - Add support for
QtTextToSpeech
- Issue 197 - QtTest imports are incomplete (PR 290 by @kumattau)
- Issue 70 - Add QHeaderView.setSectionResize for Qt4 layer
- Issue 66 - Add documentation for how to run tests (PR 277 by @CAM-Gerlach)
- Issue 62 - Add to the readme the importance of qtpy when migrating an application (PR 301 by @dalthviz)
In this release 17 issues were closed.
- PR 303 - PR: Fix QFileSystemModel for PyQt6, by @almarklein
- PR 301 - PR: Update README.md adding a line for QtPy usefulness when migrating between Qt bindings/versions, by @dalthviz (62)
- PR 299 - PR: 'width' needed for PyQt6, by @stonebig
- PR 298 - PR: Make QLibraryInfo.location work for PyQt6, by @stonebig
- PR 296 - PR: Add support for Python 3.10 on CIs and packaging, by @CAM-Gerlach (269)
- PR 294 - PR: Add minimum version check for Qt6 >=6.2.0, by @CAM-Gerlach (233)
- PR 292 - PR: Define Qt/binding versions at top level, fix warnings if versions not found, and fix test dir on CIs, by @CAM-Gerlach
- PR 291 - PR: Add QtTextToSpeech Module, by @kumattau
- PR 290 - PR: Import all classes in QtTest module., by @kumattau (197)
- PR 287 - PR: Map exec_ to their non-deprecated alternatives, by @kumattau (286)
- PR 282 - PR: Update README sponsors section, by @dalthviz
- PR 279 - PR: Add back legacy PYQT4 and PYSIDE package-level constants for compat, by @CAM-Gerlach
- PR 278 - PR: Update gitignore, gitattributes, license, authors and security policy, by @CAM-Gerlach
- PR 277 - PR: Add Contributing Guide based on other Spyder projects, by @CAM-Gerlach (66)
- PR 276 - PR: Fix regression in FORCE_QT_API behavior from merging PySide6 support, by @tlambert03
- PR 273 - PR: Avoid future deprecations and decrease general technical debt, by @CAM-Gerlach
- PR 272 - PR: Upgrade packaging to avoid legacy/deprecated behavior and follow PEP 517, by @CAM-Gerlach (270)
- PR 271 - PR: Unscoped enums access for PyQt6 and other missing PyQt6 compatibility changes, by @dalthviz
- PR 268 - PR: Fix and improve Coveralls reporting, by @CAM-Gerlach (267)
- PR 266 - PR: Use modern packaging instead of deprecated distutils for version parse, by @CAM-Gerlach (235, 234)
- PR 264 - PR: [PyQt6] Add missing tabStopWidth/setTabStopWidth same as PySide6, by @kumattau
- PR 263 - PR: Remove accidentally-duplicated lines of code in QtCore, by @kumattau
- PR 262 - PR: Unify and cleanup CI infra, improve robustness and test Python 3.9 and PyQt6, by @CAM-Gerlach (253)
- PR 260 - PR: Reorganize
QtCharts
module import and add missing skip validation forQtNetworkAuth
test withPyQt6
, by @dalthviz (257) - PR 259 - PR: [PyQt6] Add exec_/print_, and add QOpenGLWidget/QShortcut to QtWidgets, by @kumattau (258)
- PR 256 - PR: Fix fallback API, by @benoit-pierre
- PR 255 - PR: Add additional Qt modules and more support and tests for PyQt6/PySide6, by @jschueller
- PR 254 - PR: Add QShortcut class to QtWidgets module, by @kumattau
- PR 252 - PR: Remove Qt4 support, by @jschueller
- PR 251 - PR: Drop Python 2, by @dalthviz (250)
- PR 225 - PR: Add support for PySide6, by @jschueller
In this release 31 pull requests were closed.
- Issue 284 - Warn if using a deprecated and/or unsupported Qt 5 version (PR 289 by @CAM-Gerlach)
- Issue 280 - import qtpy raise except when only have PyQt4 (PR 281 by @dalthviz)
- Issue 261 - Add a deprecation warning for unsupported
Qt
versions and bindings (at leastQt4
:PyQt4
andPySide
) (PR 283 by @CAM-Gerlach)
In this release 3 issues were closed.
- PR 293 - PR: Update RELEASE.md for 1.x version, by @dalthviz
- PR 289 - PR: Add warning for deprecated/EoL Qt5 & PyQt5/PySide2 versions to fix #284, by @CAM-Gerlach (284)
- PR 285 - PR: Import Callable and MutableMapping in py3compat for Python 2 compat, by @davvid
- PR 283 - PR: Add a warning for developers still running legacy Qt4-based APIs, by @CAM-Gerlach (261)
- PR 281 - PR: Catch
PythonQtError
when trying to do alias forQtDataVisualization
and dev version correction, by @dalthviz (280)
In this release 5 pull requests were closed.
In this release 1 issue was closed.
In this release 1 pull request was closed.
In this release 1 issue was closed.
- PR 246 - PR: Wrap
pysideuic
andpyside2uic
imports since they could be unavailable, by @dalthviz (245) - PR 244 - qtpy/tests/test_uic.py: skip if pyside2uic not installed, by @AndrewAmmerlaan
In this release 2 pull requests were closed.
In this release 1 issue was closed.
- PR 243 - PR:
QtDataVisualization
backward compatibility handling on Windows, by @dalthviz - PR 242 - PR: Add
QtWebEngineWidgets.QWebEngineProfile
for PyQt5 and PySide2, by @dalthviz (201) - PR 228 - PR: Rename QtDatavisualization to use uppercase v, by @antlarr
- PR 219 - PR: Add support for QStyleOptionFrameV3 from PyQt4, by @PierreRaybaut
- PR 218 - PR: Add QtWinExtras module, by @phil65
- PR 209 - PR: Add support for QtSerialPort add-on, by @Stanowczo
- PR 205 - PR: Add support for the QtPositioning module, by @avalentino
- PR 202 - PR: Add loadUiType implementation for PySide2, by @avalentino
In this release 8 pull requests were closed.
- Issue 238 - PySide2 and Python3.9: xml.etree.ElementTree.Element' object has no attribute 'getchildren
- Issue 222 - Imported modules are not respected
- Issue 220 - MNT: Stop using ci-helpers in appveyor.yml
- Issue 206 - DeprecationWarning for getchildren (PR 224 by @irrcombat)
- Issue 198 - PyQt4-sip==4.19.13 not supported
In this release 5 issues were closed.
- PR 241 - PR: Update setup.py classifiers, by @dalthviz
- PR 230 - PR: Fix imported modules logic if 'FORCE_QT_API' is empty, by @hiaselhans
- PR 224 - PR: Support python 3.9
custom_widgets
iteration, by @irrcombat (206) - PR 215 - PR: Slight typo fix, by @altendky
- PR 214 - PR: Handle QtCore.SignalInstance/pyqtBoundSignal, by @altendky
- PR 208 - PR: Move CI to Github Actions, by @goanpeca
- PR 204 - PR: Add Python 3.9 compatibility for
collections.abc
module, by @tirkarthi - PR 199 - PR: Add support to PyQt4-sip 4.19.13, by @milanmatic
In this release 8 pull requests were closed.
- Add the FORCE_QT_API environment variable to keep using the Qt bindings selected with the QT_API variable and avoid switching to the currently imported bindings. This allows to have applications that import PySide and PyQt bindings at the same time (which is possible if both bindings are compiled for the same Qt version).
- Issue 195 - Errors in the Qt3D modules with PySide2 5.12.4+ and Python 2 (PR 196)
- Issue 192 - Binding Selection Logic (PR 194)
In this release 2 issues were closed.
- PR 196 - PR: Don't load Qt3D modules for buggy versions of PySide2 (195)
- PR 194 - PR: Add FORCE_QT_API environment variable (192)
In this release 2 pull requests were closed.
- Add support for several Qt 3D modules.
In this release 1 issue was closed.
In this release 1 pull request was closed.
- PR 189 - PR: Skip testing PyQt4 and PySide in Python 3.5
- PR 188 - PR: Trivial maintenance tweaks
- PR 187 - PR: Avoid deprecated "from collections import MutableMapping"
In this release 3 pull requests were closed.
- Add support for QtCharts.
- PR 186 - PR: Generate PyPI long description from README.md
- PR 183 - PR: Add QtCharts module support
- PR 182 - PR: Prevent warnings for equivalent APIs
- PR 176 - PR: Don't warn about bindings change if user did not specify a binding
In this release 4 pull requests were closed.
- Add support for QtQuickWidgets.
In this release 1 issue was closed.
- PR 181 - PR: Restore QWebEngineSettings for PySide2
- PR 180 - PR: Add QtCore.version for PySide2 (178)
- PR 179 - PR: Add QtQuickWidgets
In this release 3 pull requests were closed.
In this release 2 pull requests were closed.
In this release 1 issue was closed.
In this release 1 pull request was closed.
- Add support for QtLocation, QtMultimediaWidgets, QtQml, QtQuick, QtWebChannel, QtWebSockets and QtXmlPatterns.
- Raise an error when trying to use the wrong combination of macOS and Qt versions.
- Issue 155 - Add warnings for Qt 5.9 in macOS 10.9 and Qt 5.11 and macOS 10.11 (PR 168)
- Issue 153 - Shim PyQt5 ToPyDateTime for compatibility with PySide2 (PR 169)
- Issue 123 - Wrap QWebChannel module (PR 157)
In this release 3 issues were closed.
- PR 169 - PR: Shim PyQt5 QDateTime.toPyDateTime to QDateTime.toPython for compatibility with PySide2 (153)
- PR 168 - PR: Raise error when trying to use the wrong combination of macOS and Qt versions (155)
- PR 167 - PR: Migrate to CircleCI 2.0
- PR 163 - PR: Add QtLocation
- PR 162 - PR: Update readme to remove funding appeal, harmonize with other readmes and minor fixes
- PR 161 - PR: Fix pyside2 wheels install
- PR 157 - PR: Add more Qt modules (123)
In this release 7 pull requests were closed.
- Issue 150 - PySide2-5.11 alpha2 compatibility (PR 151)
- Issue 144 - ValueError: API 'QString' has already been set to version 1 at line 141 in init.py file. (PR 152)
In this release 2 issues were closed.
- PR 152 - PR: Catch ValueError when trying to set sip API (144)
- PR 151 - PR: Add a preventive change for PySide-5.11a2 (150)
- PR 149 - PR: Use Qt official wheels to run tests for PySide2
- PR 148 - PR: Remove internal conda recipe
In this release 4 pull requests were closed.
- Show a warning when QT_API is changed automatically by qtpy.
- Issue 145 - Raise a warning if QT_API value is changed automatically (PR 146)
- Issue 142 - On OSX qtpy applications are forcing discrete graphics (PR 143)
In this release 2 issues were closed.
- PR 147 - PR: Add better compatibility with PySide2
- PR 146 - PR: Add a warning if API is changed automatically (145)
- PR 143 - PR: Avoid using PyQt5.Qt, which imports unneeded stuff and forces discrete GPU on OSX (142)
In this release 3 pull requests were closed.
- Add support for QtHelp and QtSql
- Use already imported bindings
- Issue 138 - If one binding has already been imported, then qtpy should just use it (PR 139)
- Issue 135 - Add Wrapper for QtSql [feature request] (PR 136)
- Issue 131 - Methods missing from QStandardPaths when QT_API=pyqt4
- Issue 127 - Add Wrapper for QtHelp [feature request] (PR 128)
In this release 4 issues were closed.
- PR 140 - PR: Pin PyQt5 to 5.9.2 in CircleCI because 5.10 is generating segfaults
- PR 139 - PR: If a Qt binding is already imported, then use it. (138)
- PR 136 - PR: Add QtSql wrapper (incl. test) (135)
- PR 132 - PR: Changes to QDesktop split
- PR 128 - PR: Add QtHelp Wrapper (127)
In this release 5 pull requests were closed.
Issues
- Issue 129 - Spurious cache files in PyPI tarball
- Issue 119 - Importing qtpy should not raise exceptions
In this release 2 issues were closed
Pull requests
- PR 130 - PR: No cache files included in the release tarball
- PR 126 - PR: Remove Quantified Code badge because the service doesn't exist anymore
- PR 121 - PR: Warn if QHeaderView deprecated methods are used
In this release 3 pull requests were merged
- Add support for PySide2 and PyQt 4.6
Issues
- Issue 124 - Typo in readme title
- Issue 111 - Update Readme for 1.3 release
- Issue 110 - Add tests for untested modules
- Issue 101 - Missing: QtOpenGL Module
- Issue 89 - QDesktopServices split into QDesktopServices and QStandardPaths
- Issue 57 - qInstallMessageHandler <-> qInstallMsgHandler
- Issue 15 - Feature Request: PySide2 support
In this release 7 issues were closed
Pull requests
- PR 125 - PR: Fix typo in Readme.
- PR 117 - PR: Add compatibility for the rename of qInstallMsgHandler to qInstallMessageHandler
- PR 115 - PR: Update Readme to reflect that we actually use the PySide2 layout
- PR 114 - PR: Update Readme to mention that we now support PySide2.
- PR 113 - PR: Add tests for Qtdesigner, QtNetwork, QtPrintSupport, QtSvg and QtTest.
- PR 112 - PR: Follow QStandardPaths location in Qt5 for PyQt4/PySide
- PR 109 - PR: Add a coveragerc file
- PR 106 - PR: Add support for PyQt 4.6
- PR 102 - PR: Add a new QtOpenGL module
- PR 84 - PR: Add PySide2 support
In this release 10 pull requests were merged
Pull requests
- PR 98 - PR: Don't use Travis to test macOS because it slows down the entire spyder-ide organization
- PR 97 - PR: Update Appveyor badge in Readme because of moving to an org account
- PR 94 - PR: Include test suite in sdist
In this release 3 pull requests were merged
- Add support for QtMultimedia
- Use relative imports so its vendored more easily
Issues
- Issue 83 - Include core doc files in PyPi releases
- Issue 78 - Request for a new bugfix release
- Issue 75 - Missing copyright headers
- Issue 67 - uic.loadUiType is missing
- Issue 64 - QHeaderView.setSectionResizeMode
- Issue 49 - QtMultimedia support
In this release 6 issues were closed
Pull requests
- PR 93 - Restore uic full namespace for PyQt5 and PyQt4
- PR 92 - Add missing copyright header in _patch/qheaderview.py
- PR 91 - Use star imports in QtSvg again instead of direct ones (reverts PR #55)
- PR 88 - PR: Add manifest
- PR 74 - Move QStringListModel to QtCore
- PR 71 - PR: Use relative imports so its vendored more easily
- PR 65 - Introduce renamed methods of QHeaderView in PyQt4 and PySide
- PR 59 - Don't install qtpy as a conda package in CircleCI
- PR 58 - Remove reference to how qtpy is pronounced in README
- PR 55 - PR: Add explicit imports to QtSvg module
- PR 50 - Add support for QtMultimedia
In this release 11 pull requests were merged
Pull requests
- PR 54 - PR: Fix/ci
- PR 53 - PR: Move tests to module so they can be run when installed
- PR 52 - PR: Update readme
- PR 51 - PR: Add circle ci
- PR 47 - Remove PyQt variant symbols from QtCore
- PR 46 - del QtWidgets.QStyleOptionViewItemV4
- PR 45 - Allow QT_API values that are not completely in lower case
In this release 7 pull requests were merged
Pull requests
- PR 44 - Make qtpy to set the QT_API environment variable
In this release 1 pull requests were merged
- Make importing
qtpy
thread-safe - Add a uic module to make loadUI work for PySide
- Add QtTest support for PySide
Issues
- Issue 42 - Wrong old PyQt4 version check
- Issue 21 - Patch QComboBox with PySide?
- Issue 16 - Add loadUI functionality
In this release 3 issues were closed
Pull requests
- PR 43 - Don't check PyQt version with qtpy's version for old PyQt versions
- PR 41 -
qtpy.__version__
should be QtPy version, not Qt version - PR 40 - Mention qt-helpers in README.md, and add myself to AUTHORS.md
- PR 39 - Fix remaining segmentation fault that occurs with the patched QComboBox in PySide
- PR 38 - QtTest for PySide
- PR 37 - Automatically load custom widget classes when using PySide
- PR 33 - Ignore case for QT_API env variable in qtpy submodules
- PR 32 - Remove QItemSelectionModel from QtWidgets for PyQt4 and PySide
- PR 31 - Add compatibility for QItemSelectionModel
- PR 29 - Use ci-helpers (from Astropy) for CI and enable AppVeyor
- PR 28 - Make tests.py into proper unit test, and add Qt version info to pytest header
- PR 27 - Make sure loadUi is available
- PR 25 - Add patched version of QComboBox
In this release 13 pull requests were merged
- Add a WEBENGINE constant to QtWebEngineWidgets, which is True if Qt 5 comes with the WebEngine module and False otherwise.
Pull requests
- PR 24 - Add constant to QtWebEngineWidgets to see if we are using WebEngine or WebKit
- PR 23 - Fix "Prefer
format()
over string interpolation operator" issue
In this release 2 pull requests were merged
Issues
- Issue 18 - QIntValidator left in QtWidgets, should be in QtGui
In this release 1 issues were closed
Pull requests
- PR 19 - Import QIntValidator in QtGui and remove it from QtWidgets
In this release 1 pull requests were merged
-
Add QtWebEngineWidgets module for Qt 5.6. This module replaces the previous QtWebKit one.
-
Import the right objects in QtGui, QtWidgets and QtCore
-
Add a QtPrintSupport module
- Add tests and continuous integration
- First release