Python bindings for the Qt cross-platform application and UI framework
Project description
Introduction
PySide is the Python Qt bindings project, providing access the complete Qt 4.8 framework as well as to generator tools for rapidly generating bindings for any C++ libraries.
The PySide project is developed in the open, with all facilities you’d expect from any modern OSS project such as all code in a git repository, an open Bugzilla for reporting bugs, and an open design process. We welcome any contribution without requiring a transfer of copyright.
The PySide documentation is hosted at http://pyside.github.io/docs/pyside/.
Compatibility
PySide requires Python 2.6 or later and Qt 4.6 or better.
Installation
Installing prerequisites
Install latest pip distribution: download get-pip.py and run it using the python interpreter.
Installing PySide on a Windows System
To install PySide on Windows you can choose from the following options:
Use pip to install the wheel binary packages:
pip install -U PySide
Use setuptools to install the egg binary packages (deprecated):
easy_install -U PySide
Installing PySide on a Mac OS X System
You need to install or build Qt 4.8 first, see the Qt Project Documentation.
Alternatively you can use Homebrew and install Qt with
$ brew install qt
To install PySide on Mac OS X you can choose from the following options:
Use pip to install the wheel binary packages:
$ pip install -U PySide
Installing PySide on a Linux System
We do not provide binaries for Linux. Please read the build instructions in section Building PySide on a Linux System.
Building PySide
Feedback and getting involved
Mailing list: http://lists.qt-project.org/mailman/listinfo/pyside
Issue tracker: https://bugreports.qt-project.org/browse/PYSIDE
Code Repository: https://github.com/PySide
Changes
1.2.4 (2015-10-14)
Complete list of changes and bug fixes
PySide-setup
Make sure that setup.py is run with an allowed python version
1.2.3 (2015-10-12)
Complete list of changes and bug fixes
PySide
Fix PYSIDE-164: Fix possible deadlock on signal connect/emit
Shiboken
Don’t ignore classes in topology
Process global enums in declaration order
Return enums in declaration order (order added)
PySide-setup
On Linux and MacOS systems there is no more need to call the post-install script
1.2.2 (2014-04-24)
Complete list of changes and bug fixes
PySide
Fix PYSIDE-190: QCoreApplication would deadlock on exit if the global QThreadPool.globalInstance() is running a QRunnable with python code
Change GlobalReceiver to explicitly ‘use’ [dis]connectNotify of the base class in order to avoid hiding these with its own overloads.
Add explicit casts when initializing an int[] using {}’s, as required by C++11 to be “well formed”
Fix PYSIDE-172: multiple rules for file
Use file system encoding instead of assumed ‘ascii’ when registering qt.conf in Qt resource system
Shiboken
Remove rejection lines that cause the sample_list test to fail
Remove protected from samblebinding test
Add parsing of ‘noexcept’ keyword
Fix function rejections (i.e. support overloads)
Fix building with python 3.3 and 3.4
Doc: Stop requiring sphinx.ext.refcounting with Sphinx 1.2+
Fix for containers with ‘const’ values
Fix compilation issue on OS X 10.9
Only use fields in PyTypeObject when defining types
Fix buffer overrun processing macro definitions
Fix ‘special’ include handling
Fix finding container base classes
Refactor and improve added function resolving
Work around MSVC’s deficient <cmath> in libsample/transform.cpp
Fix description of sample/transform unit test
Change wrapping and indent of some code in Handler::startElement to improve consistency
Fix ‘%#’ substitution for # > 9
Improve dependencies for tests
1.2.1 (2013-08-16)
Major changes
PySide
In memory qt.conf generation and registration
Shiboken
Better support for more than 9 arguments to methods
Avoiding a segfault when getting the .name attribute on an enum value with no name
PySide-setup
Switched to the new setuptools (v0.9.8) which has been merged with Distribute again and works for Python 2 and 3 with one codebase
Support for building windows binaries with only Windows SDK installed (Visual Studio is no more required)
Removed –msvc-version option. Required msvc compiler version is now resolved from python interpreter version
1.2.0 (2013-07-02)
Major changes
PySide
Fix multiple segfaults and better track the life time of Qt objects
Fix multiple memory leaks
Shiboken
Install the shiboken module to site-packages
Fix multiple segfaults
PySide-setup
On Windows system, when installing PySide binary distribution via easy_install, there is no more need to call the post-install script
Support for building windows binaries outside of Visual Studio command prompt
Build and package the shiboken docs when sphinx is installed
Complete list of changes and bug fixes
PySide
Set up PYTHONPATH for tests correctly
Fix potential segfault at shutdown
Fix PYSIDE-61
Tell Qt to look for qml imports in the PySide package
fix build in C++11 mode
Fix QByteArray memory leak
Ignore QtCore import errors when initializing plugins folder
Preload OpenSSL DLLs on Windows.
Look first in the PySide package for Qt’s plugins folder, instead of just in Qt’s install or build folder
Add explicit type conversion to fix mingw compile error
Use QObject property to invalidate wrapper before deletion
Invalidate metaObject wrapper before deletion
Fix reference leak on convertion from a C++ map type to Python dict
Change the order of pysitetest and signals directories because signals/disconnect_test.py depends on pysidetest module
Shiboken
Removed old logos from html docs
Add missing return on module init error
Don’t break -Werror=non-virtual-dtor
Fixing shiboken test for minimal binding test
Decref reference to type object
Fix segfault when using shiboken.delete
Use non-static method def for instance methods
Fix bug introduced when recursive_invalidate was added
fix build in C++11 mode
Prevent infinite recursion in invalidate
Fix possible conflict with garbage collector
Fix possible crash at exit
Fix handling of unsigned long long and provide unittests
Add test to illustrate issue on typedef enum
Use getWrapperForQObject to convert if generating for PySide
Allow compilation without a python shared library
Use parent class’s metaObject if wrapper is NULL
Optionally assert on free’d pointer with a valid wrapper
Find python3 libraries when built with pydebug enabled
Fix PYSIDE-108 bug and add example
PYSIDE-83 Fix segfault calling shiboken.dump
Fix and test case for bug PYSIDE-72
Override all functions with the same name, not just one
Update vector conversion
Add typedef examples to minimal
Add test files back to cmake
Don’t use it->second after erasing it
Find function modifications defined in the 2nd+ base class. Fixes bug PYSIDE-54.
Set a default hash function for all ObjectTypes. Fix bug PYSIDE-42.
Fix compilation when there is no libxslt installed on the system.
Fixed resolving of SOABI. SOABI is implemented on Linux, but not on Windows
Don’t use inline methods in dllexported classes to keep VC++ happy
Use SpooledTemporaryFile in 2.6+ os.tmpfile() fails on win32 if process doesn’t have admin permissions
PySide-setup
Support for building windows binaries outside of Visual Studio command prompt
Build and package the shiboken docs when sphinx is installed
Support Ubuntu 13.04 and Fedora 18
Fixed “develop” setuptools command
Documentation updates
Add –build-tests option to enable building the tests
Add –jom and –jobs options
Add –no-examples option to exclude the examples
Add –relwithdebinfo option to enable a release-with-debug-info build mode
Add –ignore-git option
Add –make-spec option to specify make generator
1.1.2 (2012-08-28)
Bug fixes
During signal emission don’t get return type after callback
Invalidate QStandardModel::invisibleRootItem in clear() method
QAbstractItemModel has wrong ownership policy for selectionModel()
Improved QVector to python conversion
Disable docstring generation if tools aren’t found.
Fixed some issues compiling PySide using VC++
Install the shiboken module to site-packages
Fix compilation when there is no libxslt installed on the system.
Set a default hash function for all ObjectTypes.
Fix segfault calling shiboken.dump
1.1.1 (2012-04-19)
Major changes
Unified toolchain! No more GeneratorRunner and ApiExtractor, now you just need Shiboken to compile PySide.
Bug fixes
1105 Spyder fails with HEAD
1126 Segfault when exception is raised in signalInstanceDisconnect
1135 SIGSEGV when loading custom widget using QUiLoader when overriding createWidget()
1041 QAbstractItemModel has wrong ownership policy for selectionModel()
1086 generatorrunner segfault processing #include
1110 Concurrency error causes GC heap corruption
1113 Instantiating QObject in user-defined QML element’s constructor crashes if instantiated from QML
1129 Segmentation fault on close by QStandardItem/QStandardItemModel
1104 QSettings has problems with long integers
1108 tests/QtGui/pyside_reload_test.py fails when bytecode writing is disabled
1138 Subclassing of QUiLoader leads to “Internal C++ object already deleted” exception (again)
1124 QPainter.drawPixmapFragments should take a list as first argument
1065 Invalid example in QFileDialog documentation
1092 shiboken names itself a ‘generator’
1094 shiboken doesn’t complain about invalid options
1044 Incorrect call to parent constructor in example
1139 Crash at exit due to thread state (tstate) being NULL
PYSIDE-41 QModelIndex unhashable
1.1.0 (2012-01-02)
Major changes
New type converter scheme
Bug fixes
1010 Shiboken Cygwin patch
1034 Error compiling PySide with Python 3.2.2 32bit on Windows
1040 pyside-uic overwriting attributes before they are being used
1053 pyside-lupdate used with .pro files can’t handle Windows paths that contain spaces
1060 Subclassing of QUiLoader leads to “Internal C++ object already deleted” exception
1063 Bug writing to files using “QTextStream + QFile + QTextEdit” on Linux
1069 QtCore.QDataStream silently fails on writing Python string
1077 Application exit crash when call QSyntaxHighlighter.document()
1082 OSX binary links are broken
1083 winId returns a PyCObject making it impossible to compare two winIds
1084 Crash (segfault) when writing unicode string on socket
1091 PixmapFragment and drawPixmapFragments are not bound
1095 No examples for shiboken tutorial
1097 QtGui.QShortcut.setKey requires QKeySequence
1101 Report invalid function signatures in typesystem
902 Expose Shiboken functionality through a Python module
969 viewOptions of QAbstractItemView error
1.0.9 (2011-11-29)
Bug fixes
1058 Strange code in PySide/QtUiTools/glue/plugins.h
1057 valgrind detected “Conditional jump or move depends on uninitialised value”
1052 PySideConfig.cmake contains an infinite loop due to missing default for SHIBOKEN_PYTHON_SUFFIX
1048 QGridLayout.itemAtPosition() crashes when it should return None
1037 shiboken fails to build against python 3.2 (both normal and -dbg) on i386 (and others)
1036 Qt.KeyboardModifiers always evaluates to zero
1033 QDialog.DialogCode instances and return value from QDialog.exec_ hash to different values
1031 QState.parentState() or QState.machine() causes python crash at exit
1029 qmlRegisterType Fails to Increase the Ref Count
1028 QWidget winId missing
1016 Calling of Q_INVOKABLE method returning not QVariant is impossible…
1013 connect to QSqlTableModel.primeInsert() causes crash
1012 FTBFS with hardening flags enabled
1011 PySide Cygwin patch
1010 Shiboken Cygwin patch
1009 GeneratorRunner Cygwin patch
1008 ApiExtractor Cygwin patch
891 ApiExtractor doesn’t support doxygen as backend to doc generation.
1.0.8 (2011-10-21)
Major changes
Experimental Python3.2 support
Qt4.8 beta support
Bug fixes
1022 RuntimeError: maximum recursion depth exceeded while getting the str of an object
1019 Overriding QWidget.show or QWidget.hide do not work
944 Segfault on QIcon(None).pixmap()
1.0.7 (2011-09-21)
Bug fixes
996 Missing dependencies for QtWebKit in buildscripts for Fedora
986 Documentation links
985 Provide versioned pyside-docs zip file to help packagers
981 QSettings docs should empathize the behavior changes of value() on different platforms
902 Expose Shiboken functionality through a Python module
997 QDeclarativePropertyMap doesn’t work.
994 QIODevice.readData must use qmemcpy instead of qstrncpy
989 Pickling QColor fails
987 Disconnecting a signal that has not been connected
973 shouldInterruptJavaScript slot override is never called
966 QX11Info.display() missing
959 can’t pass QVariant to the QtWebkit bridge
1006 Segfault in QLabel init
1002 Segmentation fault on PySide/Spyder exit
998 Segfault with Spyder after switching to another app
995 QDeclarativeView.itemAt returns faulty reference. (leading to SEGFAULT)
990 Segfault when trying to disconnect a signal that is not connected
975 Possible memory leak
991 The __repr__ of various types is broken
988 The type supplied with currentChanged signal in QTabWidget has changed in 1.0.6
1.0.6 (2011-08-22)
Major changes
New documentation layout;
Fixed some regressions from the last release (1.0.5);
Optimizations during anonymous connection;
Bug fixes
972 anchorlayout.py of graphicsview example raised a unwriteable memory exception when exits
953 Segfault when QObject is garbage collected after QTimer.singeShot
951 ComponentComplete not called on QDeclarativeItem subclass
965 Segfault in QtUiTools.QUiLoader.load
958 Segmentation fault with resource files
944 Segfault on QIcon(None).pixmap()
941 Signals with QtCore.Qt types as arguments has invalid signatures
964 QAbstractItemView.moveCursor() method is missing
963 What’s This not displaying QTableWidget column header information as in Qt Designer
961 QColor.__repr__/__str__ should be more pythonic
960 QColor.__reduce__ is incorrect for HSL colors
950 implement Q_INVOKABLE
940 setAttributeArray/setUniformValueArray do not take arrays
931 isinstance() fails with Signal instances
928 100’s of QGraphicItems with signal connections causes slowdown
930 Documentation mixes signals and functions.
923 Make QScriptValue (or QScriptValueIterator) implement the Python iterator protocol
922 QScriptValue’s repr() should give some information about its data
900 QtCore.Property as decorator
895 jQuery version is outdated, distribution code de-duplication breaks documentation search
731 Can’t specify more than a single ‘since’ argument
983 copy.deepcopy raises SystemError with QColor
947 NETWORK_ERR during interaction QtWebKit window with server
873 Deprecated methods could emit DeprecationWarning
831 PySide docs would have a “Inherited by” list for each class
1.0.5 (2011-07-22)
Major changes
Widgets present on “ui” files are exported in the root widget, check PySide ML thread for more information[1];
pyside-uic generate menubars without parent on MacOS plataform;
Signal connection optimizations;
Bug fixes
892 Segfault when destructing QWidget and QApplication has event filter installed
407 Crash while multiple inheriting with QObject and native python class
939 Shiboken::importModule must verify if PyImport_ImportModule succeeds
937 missing pid method in QProcess
927 Segfault on QThread code.
925 Segfault when passing a QScriptValue as QObject or when using .toVariant() on a QScriptValue
905 QtGui.QHBoxLayout.setMargin function call is created by pyside-uic, but this is not available in the pyside bindings
904 Repeatedly opening a QDialog with Qt.WA_DeleteOnClose set crashes PySide
899 Segfault with ‘QVariantList’ Property.
893 Shiboken leak reference in the parent control
878 Shiboken may generate incompatible modules if a new class is added.
938 QTemporaryFile JPEG problem
934 A __getitem__ of QByteArray behaves strange
929 pkg-config files do not know about Python version tags
926 qmlRegisterType does not work with QObject
924 Allow QScriptValue to be accessed via []
921 Signals not automatically disconnected on object destruction
920 Cannot use same slot for two signals
919 Default arguments on QStyle methods not working
915 QDeclarativeView.scene().addItem(x) make the x object invalid
913 Widgets inside QTabWidget are not exported as members of the containing widget
910 installEventFilter() increments reference count on target object
907 pyside-uic adds MainWindow.setMenuBar(self.menubar) to the generated code under OS X
903 eventFilter in ItemDelegate
897 QObject.property() and QObject.setProperty() methods fails for user-defined properties
896 QObject.staticMetaObject() is missing
916 Missing info about when is possible to use keyword arguments in docs [was: QListWidgetItem’s constructor ignores text parameter]
890 Add signal connection example for valueChanged(int) on QSpinBox to the docs
821 Mapping interface for QPixmapCache
909 Deletion of QMainWindow/QApplication leads to segmentation fault
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file PySide-1.2.4.tar.gz
.
File metadata
- Download URL: PySide-1.2.4.tar.gz
- Upload date:
- Size: 9.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1421bc1bf612c396070de9e1ffe227c07c1f3129278bc7d30c754b5146be2433 |
|
MD5 | 3cb7174c13bd45e3e8f77638926cb8c0 |
|
BLAKE2b-256 | 36acca31db6f2225844d37a41b10615c3d371587677efd074db29855e7035de6 |
File details
Details for the file PySide-1.2.4-cp34-none-win32.whl
.
File metadata
- Download URL: PySide-1.2.4-cp34-none-win32.whl
- Upload date:
- Size: 41.0 MB
- Tags: CPython 3.4, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9dcd80729e46506114d39accdf70ac205ae478b1d957455b8eb85511ef2cb03 |
|
MD5 | b51550a846ed3021befb2f82c86bd1b2 |
|
BLAKE2b-256 | 3ab8a7387a4cdbefd86c5a4c052d268aafefd2586e533dbef583623c0cc9a096 |
File details
Details for the file PySide-1.2.4-cp33-none-win32.whl
.
File metadata
- Download URL: PySide-1.2.4-cp33-none-win32.whl
- Upload date:
- Size: 41.1 MB
- Tags: CPython 3.3, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0e554df5007bd96a9ba72bba17e021c2437266ae53bac8155e8ae775fc754ef |
|
MD5 | 0f33ef962ce012a41aa0c01019de5fc4 |
|
BLAKE2b-256 | a0ce0f07179176adabc6561e02c3917fe6e05d69190e14506c4e72ff833a1874 |
File details
Details for the file PySide-1.2.4-cp27-none-win_amd64.whl
.
File metadata
- Download URL: PySide-1.2.4-cp27-none-win_amd64.whl
- Upload date:
- Size: 45.0 MB
- Tags: CPython 2.7, Windows x86-64
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c267d7cf74e0ee9bd5b0e66abeba157318245c4209f1e01b0028ac169030bc03 |
|
MD5 | b654a0426b96a355afbf564b07e7451b |
|
BLAKE2b-256 | d2667a36ed2ebc178ba1d8c25b5d196ffae3605f3d68ac25353c8f099b1c8f6b |
File details
Details for the file PySide-1.2.4-cp27-none-win32.whl
.
File metadata
- Download URL: PySide-1.2.4-cp27-none-win32.whl
- Upload date:
- Size: 41.0 MB
- Tags: CPython 2.7, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 104c0f3aee597e92c43b60f31205cbbd57a4307fea0fae4bbaeeb58b61878908 |
|
MD5 | 17ab457b6534b539ac9a8234e8105c30 |
|
BLAKE2b-256 | 39782b5fcd3b4ff4fc891f1c3a8bee09616d59fa6d644b0dc6252d46d8fbb423 |
File details
Details for the file PySide-1.2.4-cp26-none-win_amd64.whl
.
File metadata
- Download URL: PySide-1.2.4-cp26-none-win_amd64.whl
- Upload date:
- Size: 45.1 MB
- Tags: CPython 2.6, Windows x86-64
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5b82eb8a3277d35a29de2e5b96a1fa4a49d98d6cd1f40a174528bb894faa8ce |
|
MD5 | 54b6bc1a4470738c96c5666e9e18a142 |
|
BLAKE2b-256 | 4359534c8d20f0cb0aa8ed5fbb1d97c761f8188afeeeaa4bca9dd9fe25c9f538 |
File details
Details for the file PySide-1.2.4-cp26-none-win32.whl
.
File metadata
- Download URL: PySide-1.2.4-cp26-none-win32.whl
- Upload date:
- Size: 41.0 MB
- Tags: CPython 2.6, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c06cb33a80c51dcbc8ec8faa3e8be0c153e5b83710c1536ed55732a35045185f |
|
MD5 | 57695d05267bc1ae6d075533c81f2678 |
|
BLAKE2b-256 | cbe3c7c9d1bc03b25d72b8972b66c229d2fad6325f9c5c3251fc4c38f8504b1d |