aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* PySide6: Make qobjectNextAddr thread_localFriedemann Kleint2025-07-091-1/+4
| | | | | | Task-number: PYSIDE-2221 Change-Id: I72e4a5fa239653bc69da190b5b506119889d5a8f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Brush up pyside_reload_test.pyFriedemann Kleint2025-07-093-24/+23
| | | | | | | | | | Move it from QtGui to QtWidgets, completely. Use pathlib. Use a temporary directory to avoid clobbering the source directory. Pick-to: 6.9 Change-Id: Id73b87ea81a1b334e2506cb2e32b49e70a5b007d Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* qmainwindow_test.py: Remove test testCreateToolbar()Friedemann Kleint2025-07-091-7/+0
| | | | | | | | | | It does not really test anything and just slows down test execution. Pick-to: 6.9 6.8 Change-Id: Idd84f22e261eca089c346d0ff2e5e406eb9effd1 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* testrunner.py: Log slow testsFriedemann Kleint2025-07-092-2/+17
| | | | | | Pick-to: 6.9 Change-Id: If1da4deda2c059755d30c0f25f32d49e0868643f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* testrunner.py: Use dataclass instead of a named tupleFriedemann Kleint2025-07-091-8/+18
| | | | | | Pick-to: 6.9 Change-Id: I229822c8b548a19332a91768e0e250d1e4182484 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Speed up QtWidgets tests testing QDialogFriedemann Kleint2025-07-092-10/+49
| | | | | | | | | | | Use the timer logic introduced for qfontdialog to close the dialog. Reduces test time from 0.984s to 0.073s. Pick-to: 6.9 6.8 Change-Id: I5ac1dd8da9f2b814ccea4ea9a8fddb03395620c9 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* QtWidgets test qfontdialog_test.py: Fix the test to runFriedemann Kleint2025-07-092-8/+34
| | | | | | | | | | Disable native dialogs and add a timer closing the widget opened by the static getFont() function. With that. the test can enabled. Pick-to: 6.9 6.8 Change-Id: Iee9b0a341aa13527f5edcb10fd2188d111cee841 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* Disable GIL: Remove NoGIL codeFriedemann Kleint2025-07-092-13/+0
| | | | | | | | The new approach is disable-gil. Task-number: PYSIDE-2221 Change-Id: I1b1e783883aa2e94f62548385d3f19b61cf6d1ed Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Disable GIL: Basic adaption and compile fixesFriedemann Kleint2025-07-094-3/+15
| | | | | | Task-number: PYSIDE-2221 Change-Id: Ib494a0404de4aa463078b5fd9788e40cecc25ae8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Ensure mjb_shiboken.log is always writtenFriedemann Kleint2025-07-081-2/+6
| | | | | | | | | | Use a QScopeGuard to make sure it is written also in case of ApiExtractor failing. Task-number: PYSIDE-3105 Pick-to: 6.9 Change-Id: I25fbca24633f1468c674422919405bdb11fc2811 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Fix CMake targets to be relocatable in wheelsShyamnath Premnadh2025-07-076-26/+78
| | | | | | | | | | - Create two CMake export sets. One for building PySide6 and shiboken6 together called *Targets.cmake. Another with the corrected paths based on the wheel tree structure called *WheelTargets.cmake - Copy all the necessary CMake files to the wheel. Change-Id: If538ed3dac4d8195e96157c595bc63e991a5ee90 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide6: Cleanup CMake configuration filesShyamnath Premnadh2025-07-073-14/+28
| | | | | | | | | | | | | | - Variables PYSIDE_PYTHONPATH, PYSIDE_TYPESYSTEMS, PYSIDE_GLUE were corrected to correctly reflect the paths for the build-tree in the CMake configuration files during super-project build of PySide6. These were also corrected for the install-tree based on the wheel structure. - Introduce two new CMake variables PYSIDE_PYTHON_CONFIG_SUFFIX and PYSIDE_SO_VERSION shipped with the CMake config files. - Fix pyside6qml to use the export set of pyside6. Change-Id: I3b177bfed31af1d0e3a13fcc9469019a7f349d22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide: Consolidate pyside6qml into PySide6 CMake packageShyamnath Premnadh2025-07-074-48/+2
| | | | | | | | | | | | libpyside6qml is an integral part of PySide6 and is always distributed alongside libpyside6. To simplify the CMake configuration: 1. Remove separate PySide6Qml CMake package. 2. Move pyside6qml target from its own export set to PySide6Targets. 3. Delete PySide6QmlConfig*.cmake files as they are no longer needed Change-Id: If69db1b7c4056d50820eec1e60fde82664e0f1c4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QtAsyncio: Brush up code/add type hintsFriedemann Kleint2025-07-072-37/+53
| | | | | | | Initial-patch-by: Christian Tismer <tismer@stackless.com> Task-number: PYSIDE-769 Change-Id: I7b89d4dea9024b1b926d320a2464821eca5af748 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* QtAsyncio: Include this non-Qt module into normal testingFriedemann Kleint2025-07-0714-15/+107
| | | | | | | | | | | QtAsyncio has tests like other modules, although they were not automatically tested. Add a way to specify this kind of modules without conflicts in cmake. Initial-patch-by: Christian Tismer <tismer@stackless.com> Task-number: PYSIDE-769 Change-Id: I9897f37c98c400846af77d18533486fb048aca80 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Install QtAsyncioFriedemann Kleint2025-07-072-2/+31
| | | | | | | Initial-patch-by: Christian Tismer <tismer@stackless.com> Task-number: PYSIDE-769 Change-Id: I3e7bf645a2b55249685f7aac58eb93342bdb6eb7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide: Fix debug buildShyamnath Premnadh2025-07-071-4/+15
| | | | | | | | | - Amends 9a87f647acebacc330c7f426465cf0b45e3d1375 to include debug build scenario. Change-Id: If5b00e93cfd7446a7f7e411bf4901db1009c02f2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove unused test utility processtimer.py and its testFriedemann Kleint2025-07-042-129/+0
| | | | | | | | It appears to be unused and the test has bit-rot. Pick-to: 6.9 Change-Id: If4c47e8b34b5bb7f88bb56e525a322d49ef31af3 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Add tests that were missing from CMakeLists.txtFriedemann Kleint2025-07-0410-5/+39
| | | | | | | | Some tests were also missing imports and checks, add them as well. Pick-to: 6.9 Change-Id: Id73b7ab0ec06e5d87613719d0b2f267fa165db77 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Shiboken: Cleanup CMake configuration filesShyamnath Premnadh2025-07-043-15/+9
| | | | | | | | | | | - Removed unused variables in the Config file. SHIBOKEN_SHARED_LIBRARY_DIR and SHIBOKEN_INCLUDE_DIR can be obtained from the `libshiboken` cmake target as a property, and SHIBOKEN_PYTHON_MODULE_DIR can be obtained from PYTHON_SITE_PACKAGES Change-Id: I7a27f70055835c64029cee0bef33158e48f2d7a4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide: Modify samplebinding, widgetbinding and scriptableapplicationShyamnath Premnadh2025-07-044-7/+37
| | | | | | | | | | | | | | | - With 6e7e6565024 the libshiboken headers were moved from `shiboken_generator/include` to `shiboken/include` in the installation directory. The reason behind this was libshiboken binary was shipped with shiboken and not shiboken_generator. - Update utils/pyside_config.py to return --shiboken-include-path instead of --shiboken-generator-include-path, which is used by samplebinding and scriptableapplication examples. - Additionally, add some debug messages to the CMakeLists.txt files of both examples to print the computed variables. Change-Id: Ie88283e074ba73d1103a66fe7cf6923a1a9fa048 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Modify headers installation for CMake buildsShyamnath Premnadh2025-07-0416-23/+27
| | | | | | | | | | | | | | | | | | | Previously, the headers are installed as ${CMAKE_INSTALL_PREFIX}/include/cmake_package_name, where cmake_package_name is the CMake package name, e.g., PySide6. In the wheels, the headers were included as package_name/include. Since the level of the include directory is different, this caused issues when importing the CMake package in a downstream project. - This change modifies the installation of the headers so that the CMake install prefix and the wheels are consistent. - Additionally - this change adds the libpyside6 headers to the wheels. - The include headers for libshiboken were shipped with shiboken6-generator and not with shiboken6, which has the libshiboken binary. Change-Id: I96e3280799da169836e24551b906274f5b0fc962 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove QtExampleIcons moduleFriedemann Kleint2025-07-045-106/+0
| | | | | | | | | | The module will be removed from Qt since it is not used there. This effectively reverts 559fb65547236694dc04973f7fb6b39bac75d158. Task-number: PYSIDE-2206 Task-number: QTBUG-110428 Change-Id: I149c1e6a2c3672050b4d1ba4633f07c7cdac5c1d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* test bug_332.py: Fix warning QMutex: destroying locked mutexFriedemann Kleint2025-07-041-1/+2
| | | | | | Pick-to: 6.9 6.8 Change-Id: Ieee1b2920440572b4f14188a4657704d63967b48 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* QtWidgets test bug_576.py: Remove failing test assertionFriedemann Kleint2025-07-041-1/+0
| | | | | | | | | | | | | The check has been failing since Qt 5, probably due to some changed deletion sequence, but was never caught since it is in a slot. Fixes: Traceback (most recent call last): File "sources/pyside6/tests/QtWidgets/bug_576.py", line 26, in onButtonDestroyed self.assertTrue(isinstance(button, QPushButton)) Pick-to: 6.9 Change-Id: Ibf09ba315f05ac4f457ecb856ed476bc96a6c090 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* QtWidgets test bug_941.py: Fix warningFriedemann Kleint2025-07-041-3/+10
| | | | | | | | | | | | | | Qt.Orientation was passed when emitting QHeaderView.sortIndicatorChanged(int,Qt.SortOrder), causing a warning: _pythonToCppCopy: Cannot copy-convert 0x7f87761442c0 (Orientation) to C++. Pass the right type and check. Pick-to: 6.9 6.8 Change-Id: If74037c2a00c017a40c826cabd62ec381b2c4431 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix crash when calling setItemDelegateForColumn/Row() repeatedlyFriedemann Kleint2025-07-041-2/+2
| | | | | | | | | | | | Use "add" instead of "set" as a refcount modification since the latter dec-refs the previously set delegates. Amends 676a89fcfc2190ffa50bcb4f011ca4a96a9dd653. Pick-to: 6.9 Fixes: PYSIDE-3132 Task-number: PYSIDE-226 Change-Id: I9e9b472dfbd62c9945c021be59bec688f9c9a840 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix crash on conversion errors when parsing keyword argumentsFriedemann Kleint2025-07-031-1/+1
| | | | | | | Pick-to: 6.9 6.8 Fixes: PYSIDE-3133 Change-Id: I88e0b653ea6e8a18a25c65f5518080f95ddc46ad Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix signature warnings about QObject properties of unknown type passed to ↵Friedemann Kleint2025-07-031-1/+4
| | | | | | | | | | | | | | | | | | | | constructor Fully qualify enumerations as is done for flags. Fixes warnings occurring in tests for example QtCore/errormessages_with_features_test.py: shibokensupport/signature/parser.py:271: RuntimeWarning: pyside_type_init:_resolve_value UNRECOGNIZED: 'QAbstractAnimation.State' OFFENDING LINE: 'PySide6.QtCore.QAbstractAnimation(self,parent:PySide6.QtCore.QObject=nullptr,*:KeywordOnly=None,state:QAbstractAnimation.State=None,loopCount:int=None,currentTime:int=None,currentLoop:int=None,direction:QAbstractAnimation.Direction=None,duration:int=None)' Amends aa07b1e05f61661253bbf30bc30ec68964f8af30. Pick-to: 6.9 Task-number: PYSIDE-1019 Task-number: PYSIDE-2846 Change-Id: I993da181b68dcdbe06de1e75ed400c92f3396943 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Re-enable test touchevent_test.pyFriedemann Kleint2025-07-032-19/+13
| | | | | | | | Port to use QPointingDevice. Pick-to: 6.9 Change-Id: Icb5050615e234a9acf1f79f85549dd3a49fb3414 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build system: Extend sanitizer supportFriedemann Kleint2025-07-024-10/+34
| | | | | | | | | Enable address sanitizer for MSVC, which has gained support in the mean time. Add thread sanitizer with a warning. Task-number: PYSIDE-2221 Change-Id: Iaa5a377fdb1cf33c1dcad42df5528a3a3499c773 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Desktop Deployment: Upgrade Nuitka to 2.7.11Shyamnath Premnadh2025-07-023-4/+4
| | | | | | | Pick-to: 6.8 6.9 Task-number: PYSIDE-1612 Change-Id: I63250605149c1b966017dc9bcb896925c59008a7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Desktop Deployment: Fix warning for Qt resource filesShyamnath Premnadh2025-07-012-10/+21
| | | | | | | | | | | | | | - For qrc files, the warning was wrong because qrc_<filename>.py was checked instead of rc_<filename>.py. This is now fixed. - Additionally the warning message now explicitly displays which python resource file is missing. - Also added a comment to default.spec to explicitly indicate that the QML files won't be listed for Design Studio projects. Pick-to: 6.8 6.9 Task-number: PYSIDE-1612 Change-Id: I59a22bb720a32ae2b9f6e3f856e77d3eb7b1f21d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Camera example: Fix choosing a cameraFriedemann Kleint2025-07-011-1/+1
| | | | | | | | | The camera device is stored in the action's data. Fixes: PYSIDE-3127 Pick-to: 6.9 6.8 Change-Id: I6dd252ceaab038311b48b1511072682d3a6e2c1e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* MetaObjectBuilder: Handle quint64 enumerationsFriedemann Kleint2025-06-306-18/+135
| | | | | | | | | | | | | | | | | | | | | | In the delayed creation of QMetaEnum's in MetaObjectBuilder, when parsing QEnum-decorated values, check for large quint64 values and add them correctly. For class QMetaEnum, instead of exposing the newly added functions "std::optional<quint64> value64()" and similar, inject code handling large values into the existing bindings since Python's int type is able to represent the type. Adapt to qtbase/d41b87e06742b491c4e36aeae32e03f85b078d69. [ChangeLog][PySide6] @QEnum, @QFlag and QMetaEnum now support unsigned 64 bit values for QML usage (with the exception of Qt Widgets Designer). Task-number: QTBUG-27451 Task-number: QTBUG-111926 Task-number: PYSIDE-1735 Change-Id: Ib0b26dbc350c404d354c8f53afee946e29f2adb3 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add 64 bit support for @QEnum meta typesFriedemann Kleint2025-06-302-8/+64
| | | | | | | | | | | Complements 4aa48368667bee64e48f7c9d6b3a935411d5f23c. Task-number: QTBUG-27451 Task-number: QTBUG-111926 Task-number: PYSIDE-2840 Change-Id: I8ddd138bae667bf2411c3d71b0d718a8eb217f7f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Document Cross CompilationFriedemann Kleint2025-06-301-0/+71
| | | | | | | Task-number: PYSIDE-3105 Change-Id: I5068c722f3f6781ac744768fb17a9d7f477132bb Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add section about Thread affinity to signals_and_slots.rstFriedemann Kleint2025-06-301-0/+19
| | | | | | | | Pick-to: 6.9 Task-number: PYSIDE-3124 Change-Id: Ib795aca1a2ed75b31821a90c11ccb2bdfd08f9fc Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Output more detailed build in QLibraryInfo::build()Friedemann Kleint2025-06-302-10/+45
| | | | | | | | | Add PyPy, disable-GIL and report if the runtime version differs. Pick-to: 6.9 Task-number: PYSIDE-2221 Change-Id: I6aa2b45cbd9d579f242ffca5180333c3a7c5a53f Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build system: Switch to new cross compilation support of shiboken6Friedemann Kleint2025-06-273-22/+16
| | | | | | | Fixes: PYSIDE-3105 Change-Id: Ie91ee71e7cd9948e34f3425cf42ff18326d9abe9 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Ece Cinucen <ece.cinucen@qt.io>
* shiboken6: Add heuristics for cross compilingFriedemann Kleint2025-06-273-0/+56
| | | | | | | | | | | | | If --target is present in the clang options and the relevant -platform/-arch options are not set, use the target to determine the platform. Also determine the compiler type from the path passed in. [ChangeLog][shiboken6] The support for cross compiling (using the correct target for clang-based parsing) has been improved. Task-number: PYSIDE-3105 Change-Id: If7c81b5317e0002edced1e8629318a8e66e7e1f5 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Pass target to clang parser when cross compilingFriedemann Kleint2025-06-275-9/+48
| | | | | | | | | | | When cross compiling (detected by the platform/architecture values passed via command line not matching the host) and no custom clang command line option specifying a target is present, determine a target triplet and pass that to clang. Task-number: PYSIDE-3105 Change-Id: Ib34ecfc1880525d2e035a04079242b5ade205a7a Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* shiboken6: Add a triplet parser and triplet builder with testFriedemann Kleint2025-06-274-0/+179
| | | | | | Task-number: PYSIDE-3105 Change-Id: I13faf4343705e6c1f636784da0cc3e105390b012 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* CI: Fix setting Python3 path on Mac vmSimo Fält2025-06-271-1/+1
| | | | | | Pick-to: 6.9 Change-Id: I0498d3b5f7af3ba63020867a66e46a59d4c5ac4b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Examples: Sync project fileChristian Stenger2025-06-271-54/+282
| | | | | | | | Project file got out of sync with what is present inside the examples folder, so update it accordingly. Change-Id: I3d6ec79b352a5589f73f8b6253a594bab21a8436 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken6: Add architecture optionFriedemann Kleint2025-06-254-3/+91
| | | | | | | | | As opposed to Platform/Compiler, it has an "Other" option since host builds should run on any architecture. Task-number: PYSIDE-3105 Change-Id: I170bbba422ca862a980d0e5efee2d9978fdcdb0f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Add arguments for compiler-pathFriedemann Kleint2025-06-254-4/+26
| | | | | | | | | For cross-building, arguments like --target might be required when determining the include paths by running the compiler. Task-number: PYSIDE-3105 Change-Id: Ida8bf08e1d5c566f915400d46c9cfb80bf706a72 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken6: Refactor host/compiler functions for triplet parsingFriedemann Kleint2025-06-251-26/+52
| | | | | | | | | Extract parse* functions for later usage. Add the missing macosx/androideabi. Task-number: PYSIDE-3105 Change-Id: I3c1902afb2bb4308c290641ca8a964fd5cccea22 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pyside6-project lupdate: Support directories in .ts file namesFriedemann Kleint2025-06-251-1/+4
| | | | | | | | | Create directories in case they are missing. Pick-to: 6.9 Fixes: PYSIDE-3095 Change-Id: Iec80c8a2204c548a2f7cde23724d469696a7eeb7 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix PySide build for 6.10Friedemann Kleint2025-06-253-4/+8
| | | | | | | | Task-number: PYSIDE-3011 Task-number: QTBUG-87776 Change-Id: If1bbeb6599ef60d72f49a949a30b01f9140c8d97 Reviewed-by: Ece Cinucen <ece.cinucen@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>