aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
Commit message (Collapse)AuthorAgeFilesLines
* PySide6-Android: Add QtWebViewShyamnath Premnadh4 days1-2/+6
| | | | | | | | | - QtWebView was previously missing from the Android build configuration. Pick-to: 6.8 6.10 Fixes: PYSIDE-3248 Change-Id: I11230b9bff6a45bee3af0dba498e7d76ca678e61 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6-Android: Fix WebView buildShyamnath Premnadh5 days1-1/+2
| | | | | | | | | - Amends 6e6488f86942482f990993938b5d3520a2e9fadd Pick-to: 6.8 6.10 Fixes: PYSIDE-3248 Change-Id: I9cf9cb92d2d92eb586c4bafd6939ede51078519d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Docs: VSCode Extension for PySide6Shyamnath Premnadh8 days4-1/+117
| | | | | | | | | | - Docs for the `Qt Python` extension for Visual Studio Code and its features for PySide6 development. Pick-to: 6.10 Change-Id: I9dfc80b8dab651d3615fcdf4878c674222a74dee Reviewed-by: Ben Cho <ben.cho@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* libpyside: Add categorized debug output of names of @QEnum meta typesFriedemann Kleint9 days1-0/+3
| | | | | | | Pick-to: 6.10 Task-number: PYSIDE-2840 Change-Id: I5dbc5187efc327fd81e84f4a26a03a23b797df25 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Remote Objects: Enable tests on macOS / ARMFriedemann Kleint11 days1-3/+0
| | | | | | | | Amends 19abd816e73bebdd489408d0a3b7676822bff39c. Task-number: PYSIDE-862 Change-Id: Icf499f17eb7cf0e4b3805efbfc98ab462063574e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken: Remove PepErr_GetRaisedException()Friedemann Kleint11 days1-1/+1
| | | | | | | | | | | | | | The function was wrongly implemented, it is actually meant to clear the error state and be used along with PyErr_SetRaisedException() to replace the deprecated PyErr_Fetch()/Restore(). It cannot really be implemented in terms of PyErr_Fetch()/Restore(). Partially reverts 9aabb3a509594f59306a96679938f2f43a9830e6. Task-number: PYSIDE-2747 Change-Id: I5ee57112c905e9112b758e27904bbf4fa768aeea Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix passing named tuples in QVariantsFriedemann Kleint11 days2-1/+50
| | | | | | | | | | | | | Prevent them from being converted to QVariantList by checking the exact type. Amends c47c5bdbc8e844c2c3c99e2b5e594b5615d5ae4f. Fixes: PYSIDE-3244 Task-number: PYSIDE-3206 Pick-to: 6.10 Change-Id: I26656d871accc868cb77d95b7b8567e380f46390 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Update documentation on porting examplesFriedemann Kleint11 days1-2/+8
| | | | | | | | | List useful environment variables and remove the snake case point since it causes maintenance problems. Pick-to: 6.10 Change-Id: I5c3d5e182b471ab3983e3a124ad95389d0d9bc7f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix the type hint of QMetaObject.className() to be strFriedemann Kleint11 days1-0/+3
| | | | | | Pick-to: 6.10 Change-Id: I8e428c5b1cb1c57cc628b4113fa58dd7889117c8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpysideqml: Extract QmlListPropertyMixinFriedemann Kleint2025-11-214-61/+205
| | | | | | | | | | Extract a mixin class handling registration of a QQmlListProperty<> and providing virtuals for the list functionality. It can be used by Bridges or when migrating some Bridges functionality into PySide (for example, list properties wrapping a Python list). Change-Id: I18db0a8196b0f8529e6d438744429a5630ee297c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside/libpysideqml: Introduce flags for property argumentsFriedemann Kleint2025-11-144-155/+71
| | | | | | | | | This allows for removing a number of free functions and eventually better separating QmlListProperty from Property. Task-number: PYSIDE-3227 Change-Id: If2806f86bbbb615e59655d4f9a19b0fe87219fb5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside/libpysideqml: Refactor property argument parsingFriedemann Kleint2025-11-143-56/+74
| | | | | | | | | | | | | | Take over arguments only if they are neither null nor Py_None and simplify checks accordingly. Make the error message more precise. With that 2aff6a35a9aa2f233c9801456daa6986437d2647, can be partially reverted. Task-number: PYSIDE-3227 Change-Id: I335db395e969415022581e1ec95a7e3715725bf1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Introduce a helper function for creating propertiesFriedemann Kleint2025-11-143-16/+52
| | | | | | | For use in QtRemoteObjects and Python bridges. Change-Id: Ica4d3c36cc87db958353d7d6de25806acdf5d8b7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Fix compiler warning in Limited API buildsFriedemann Kleint2025-11-141-1/+1
| | | | | | | | | | Move #ifdef, fixing: sources/pyside6/libpyside/pyside.cpp:1231:13: warning: ‘void PySide::formatPy_ssizeArray(QDebug&, const char*, const Py_ssize_t*, int)’ defined but not used [-Wunused-function] Pick-to: 6.10 Change-Id: If2bd096c675a86ff0e403ef0c97928615580787a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6/Property: Fix read-only properties when using the decorator syntaxFriedemann Kleint2025-11-032-5/+83
| | | | | | | | | | | The @setter decorator causes the property to be recreated with Py_None set for the non-existent members, apparently due to a long-closed Python bug (see_property_copy()). As a band-aid fix, check for Py_None. Fixes: PYSIDE-3227 Pick-to: 6.10 Change-Id: Ib818e9930bd598306270377e26e625bfa9692a92 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Test whether enumeration properties have the proper flag set in QMetaPropertyFriedemann Kleint2025-10-261-2/+32
| | | | | | | Task-number: PYSIDE-3217 Pick-to: 6.10 Change-Id: If23e001b6b7255e02bc80ec13bbe10e1b1f4ce4e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix tests using the Wayland platform pluginFriedemann Kleint2025-10-233-9/+6
| | | | | | | | | | | | | Remove the loop ensuring the window is mapped introduced by 918cd72f5eaebf56287a5ab0ac2e149ba1617a57, since on Wayland, the paint event occurs there, causing a hang. This loop is usually used to ensure a window is in a deterministic state for playing mouse events, etc, but for paint events it should not be required. Skip the native event test for Wayland, too. Change-Id: I2b44dc098873614e2b8d9bc54444917fd4905e9f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix CMake 3.31.6 warningsFriedemann Kleint2025-10-171-3/+0
| | | | | | | | | | | | | | | Remove some superfluous parameters, fixing: CMake Warning (dev) at doc/CMakeLists.txt:218 (add_custom_command): The following keywords are not supported when using add_custom_command(TARGET): DEPENDS. CMake Warning (dev) at doc/CMakeLists.txt:252 (add_custom_command): Keyword WORKING_DIRECTORY requires a value, but none was given. Pick-to: 6.10 Change-Id: I8212fc29241d7843f0708bd91f79976b5890ea52 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* PySide6: Add a conversion tuple->QVariantListFriedemann Kleint2025-10-151-0/+1
| | | | | | | Task-number: PYSIDE-3206 Pick-to: 6.10 Change-Id: I31995dfacc40579eb11c51129cc2caf07a201a78 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix reference count tests (2) to pass in Python 3.14 (obscure cases)Friedemann Kleint2025-10-1510-38/+70
| | | | | | | | | | As of 3.14, the interpreter will sometimes just borrow references and newly created objects may have different initial reference counts. Pick-to: 6.10 6.8 Task-number: PYSIDE-3147 Change-Id: I845460202abb95715ebf395b378b81b7790660bb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Enable QQuickTextDocument* to be used as a property in QMLFriedemann Kleint2025-10-151-0/+2
| | | | | | | | | | | Add a meta type registration for the pointer type. Complements ad51ac78b6675f8d485b49891d95d2e8876fdab0. Pick-to: 6.10 6.8 Fixes: PYSIDE-3213 Change-Id: I4c3cc374c1721b26f3924821f94b0c4e48a97aa5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Build: Fix super project build for libpysideSamuli Piippo2025-10-101-4/+6
| | | | | | | | | | Amend f73a5a291cd1a3b6f7bbd3f761435dc468771a31 and extend it to libpyside to avoid dublicate installations. Pick-to: 6.10 Task-number: QTBUG-141036 Change-Id: I7037c00c2fcdb4bddc51e8240a46ac689d814477 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* deployment-pyside6-android-deploy.rst: Fix spelling errorFriedemann Kleint2025-10-091-1/+1
| | | | | | | Pick-to: 6.10 6.8 Fixes: PYSIDE-3199 Change-Id: Ie77adfb731c5ce78e2587fdb08f339784561b07c Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Fix type annotations of QtCore.SlotEce Cinucen2025-10-061-1/+1
| | | | | | | | | | This change updates the function signature to typing.Union[type, str] for both types and result. Pick-to: 6.10 Fixes: PYSIDE-3174 Change-Id: Ic034ed725d774d94513d75014499667b6d7acdce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* libpyside: Add globals structureFriedemann Kleint2025-10-027-23/+77
| | | | | | | | | Put global data into a struct which in the future will exist per interpreter as interpreters can only share immortal objects. Task-number: PYSIDE-3155 Change-Id: I45ccaac57b41219bd4bd6a9151f820b00a787b0e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Fix clazy warnings about too-large underlying types of enumerationsFriedemann Kleint2025-10-023-3/+3
| | | | | | | Use the types suggested by clang-tidy. Change-Id: I2f96d52831fd53140a1bb727e604194afd76f920 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libshiboken/global types: Introduce a struct and function for accessFriedemann Kleint2025-10-011-1/+1
| | | | | | | | | | | Put qApp and the SbkObject type into a struct which in the future will exist per interpreter as interpreters can only share immortal objects. Also remove storage of the function results in static variables. Task-number: PYSIDE-3155 Change-Id: I5e1f12a80e858d2b8f7b5aa5d969f4024f8e3a2f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside: Add qobjectType() to return the Python type QObjectFriedemann Kleint2025-10-0111-41/+49
| | | | | | | | | | Set it directly instead of looking it up via converters, which is a step towards decoupling the converters from the per-interpreter types and saves dict lookups. Task-number: PYSIDE-3155 Change-Id: I31a71d1a9d02f1247e04c57de2c2901746221b4f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix handling type with equal names in signal/slotFriedemann Kleint2025-10-017-27/+80
| | | | | | | | | | | | | | | | | | | | The decision whether to create a derived meta object class parsed from the Python type in MetaObjectBuilder was based on comparing the class name to the base meta object (the Python parsing must not be done when creating a meta object for a plain wrapped Qt type). This led to mixups when base class names were identical which is possible in Python. To fix this, split apart the code path not requiring Python type parsing (called from the wrapper code when initializing wrapped Qt classes) and expand the code for Python derived classes into initQObjectSubType(). Fixes: PYSIDE-3201 Pick-to: 6.10 Change-Id: Id62e7dc9b8af16154b161cdbf5dd0d460c55f6f1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* libpyside/signalmanager: Change metaObjectAttr to be an immortal stringFriedemann Kleint2025-09-301-7/+8
| | | | | | | Pick-to: 6.10 Task-number: PYSIDE-3155 Change-Id: I808bd38b57650bb5a4f6933fbc00aa3086279693 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Fix disconnecting multiple index-based connectionsFriedemann Kleint2025-09-222-2/+19
| | | | | | | | | | Do not make an entry into the connection hash for them as they should be handled by QMetaObject functions. Pick-to: 6.10 Fixes: PYSIDE-3190 Change-Id: I3b6a89cbb9c211404fe2e4cf97727194b7b2fcaf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyi: QWindow.setParent argument can be OptionalCristián Maureira-Fredes2025-09-221-0/+3
| | | | | | | | | | | A generic approach could be implemented to make all the setParent methods to accept an optional object, but this is a quick fix in order to have a correct type hint. Fixes: PYSIDE-3187 Pick-to: 6.10 6.9 6.8 Change-Id: Ia295b765fcce42abf563cec52ae776cbe73539ee Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* pyi: QLayoutItem add Optional for spacerItem and widget returnCristián Maureira-Fredes2025-09-221-2/+2
| | | | | | | | | | Not an automated approach like it would be ideal, but fixes the problem. Pick-to: 6.10 6.9 6.8 Fixes: PYSIDE-3188 Change-Id: I76d420568eb754df78b71049093e95ae2e5c6cdd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Prefix all Py_FatalError() messagesFriedemann Kleint2025-09-191-4/+4
| | | | | | | | | | Some of them are seen more frequently when experimenting with subinterpreters or free threaded builds. Task-number: PYSIDE-3155 Pick-to: 6.10 Change-Id: I7de2dd52f5a474d3dd08d604413ffb927686235b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Replace PepType_GetSlot() by PyType_GetSlot()Friedemann Kleint2025-09-183-10/+12
| | | | | | | | | [ChangeLog][shiboken6] The helper function PepType_GetSlot() has been removed. PyType_GetSlot() should be used instead. Task-number: PYSIDE-2786 Change-Id: I72ba347588d720aecd5185adad6c503fde0c86b8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Replace _PepUnicode_AsString() by PyUnicode_AsUTF8AndSize()Friedemann Kleint2025-09-183-7/+4
| | | | | | | | | [ChangeLog][shiboken6] The helper function _PepUnicode_AsString() has been removed. PyUnicode_AsUTF8AndSize() should be used instead. Task-number: PYSIDE-2786 Change-Id: I38f74cac80ac26cb91bab32012cbcb7c00e81140 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Bump minimum Python version to 3.10Friedemann Kleint2025-09-183-12/+1
| | | | | | | | | [ChangeLog][PySide6] The minimum supported Python version has been raised to 3.10. Task-number: PYSIDE-2786 Change-Id: Ie93fab6945b4332eb215e9d9079da14f7ce5c78e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Documentation: Fix missing files of the WebEngine Quick nanobrowser exampleFriedemann Kleint2025-09-181-0/+1
| | | | | | | | | Amends 704f848f767f25a5c312f91d35c494c794fe3875. Task-number: PYSIDE-2206 Pick-to: 6.10 Change-Id: I785c4c3c308c0ee1f6a12698cf14dfc3e6eca7a9 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Expose the enumerations of QAudio to QtAudio using typedef'ed enumsFriedemann Kleint2025-09-171-2/+13
| | | | | | | | Complements 8fb5639ce7025456b1410f63d1463682117fe2f5. Pick-to: 6.10 Change-Id: I90cb4da72aeafd7a52400aa3bba0f4b73a2c79de Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Revert "Expose enumerations of deprecated namespace QAudio to QtAudio"Friedemann Kleint2025-09-172-29/+1
| | | | | | | | | | | This reverts commit 4fa9f5bb010af6aabd8b3dfc8f0ee059fcb5620f. The change added the enumeration types from the QAudio namespace to the QtAudio by inserting the types into the type dict, which is a hack of sorts. Change-Id: Iae93dca871d7d16b6605026d5f312caba5801bb1 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Documentation: Use a collapse directive for the detailed class descriptionFriedemann Kleint2025-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | Traditionally, the class pages were modelled after the Qt C++ documentation. There was a brief description, ending with a reference to the detailed explanation, labelled "more..". While this actually works in sphinx, too, it starts to emit warnings about multiple definitions of the 'more' label. To fix this, introduce a sphinx collapsible directive, expanding to the detailed description. This however only works unless the detailed description has headlines (for example, for QObject). This creates a difference in that the detailed description is always initially hidden, but it is assumed that this is better for the common use case of browsing for a certain method. Pick-to: 6.10 6.9 6.8 Task-number: PYSIDE-1106 Change-Id: I152be16f2a5ee5ea8c2869396a207b554738b219 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add more information on changing the supported Python versionsFriedemann Kleint2025-09-151-2/+6
| | | | | | | | Complements f2654f600b4f2de5d95a98c09ef8f25634b08e81. Pick-to: 6.10 6.9 6.8 Change-Id: I99058eac157c67f86aecf1801157567320e07464 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Output meta call name instead of enum number in error messageFriedemann Kleint2025-09-151-1/+13
| | | | | | | | | | The error can be triggered when not fully implementing a property for QML, and the number is then not very helpful since it is an internal enum. Pick-to: 6.10 6.9 6.8 Change-Id: I15a2f7f097b24fc3ed6f2b763d58e871d5bed724 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add a tool to sync example filesFriedemann Kleint2025-09-151-0/+6
| | | | | | | Task-number: PYSIDE-2206 Pick-to: 6.10 Change-Id: I043f9a70bc576e35bf59357b7ffc9144295bbd68 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Move painteditem example around to be in sync with Qt C++Friedemann Kleint2025-09-151-1/+1
| | | | | | | | Pick-to: 6.10 Task-number: PYSIDE-2206 Change-Id: Iec8dbf9750adf87980bf272a14a78556f6445408 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Deployment: Fix windows arm64 opengl exclusionShyamnath Premnadh2025-09-151-6/+1
| | | | | | | | | | - With the new CI config for windows arm64, the OpenGL module is now available. This commit removes the exclusion of the OpenGL module for Windows ARM64 architecture in the test_pyside6_deploy.py file. Task-number: PYSIDE-1612 Change-Id: I24021cf35df059809c9ca5eb42c050b1ea7a93d2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Expose enumerations of deprecated namespace QAudio to QtAudioFriedemann Kleint2025-09-122-1/+29
| | | | | | | | | | | | | Retrieve the enumerations from the type dict of "QAudio" and set them on the type dict of "QtAudio" as is done for example in feature_01_addLowerNames(). Complements 8fb5639ce7025456b1410f63d1463682117fe2f5, adapting to qtmultimedia/e6d969fc3889387f0bcc136521f932fd4913927f. Pick-to: 6.10 Change-Id: Ie3998bb4d8acd97a7659568a2ced15d81f6dd280 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* type hints: Fix return types of toTuple functionEce Cinucen2025-09-111-0/+6
| | | | | | | | | | Incorrect type hints for QtCore.QPoint/QSize/QLine.toTuple() and QtCore.QPointF/QSizeF/QLineF.toTuple() are fixed. Pick-to: 6.10 Fixes: PYSIDE-3178 Change-Id: I65957286b124eff4f25d6a7a6350a04a95b02988 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Print the error message when importing Shiboken failsFriedemann Kleint2025-09-091-2/+2
| | | | | | | Pick-to: 6.10 6.9 6.8 Task-number: PYSIDE-3155 Change-Id: Ib3fb666a70b140b8e711fd58f56bea6e0c2612b6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix the audiosource example by restoring back QAudio.convertVolume()Friedemann Kleint2025-09-093-8/+18
| | | | | | | | | | | | | Changes qtmultimedia/1922ae5c3631eb1bd74a8069f9a2a6422b6b0c89, qtmultimedia/b10efb1c79b5cffbe9ad9a0e7487247957e02ff0 finally completed the namespace name change from QAudio to QtAudio. QAudio::convertVolume() was moved to removed_api.cpp, bring it back as added function. Pick-to: 6.10 Change-Id: I89b89c950bc75abab6409aa1e13c38f4a71e20cf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>