aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst464
1 files changed, 464 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 000000000..b95f5dbb3
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,464 @@
+======
+PySide
+======
+
+.. contents:: **Table of Contents**
+
+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 [1], an open
+Bugzilla [2] for reporting bugs, and an open design process [3]. We welcome
+any contribution without requiring a transfer of copyright.
+
+Compatibility
+=============
+
+PySide requires Python 2.6 or later and Qt 4.6 or better.
+
+Installing PySide from source on a Windows System
+=================================================
+
+Installing prerequisities
+-------------------------
+
+#. Install `Python 2.7
+ <http://python.org/download/releases/2.7.3/>`_.
+
+#. Install `Qt 4.8 libraries for Windows (VS 2008)
+ <http://releases.qt-project.org/qt4/source/qt-win-opensource-4.8.2-vs2008.exe>`_.
+
+#. Install `Cmake 2.8
+ <http://www.cmake.org/cmake/resources/software.html>`_.
+
+#. Install `Visual Studio Express 2008
+ <http://www.microsoft.com/express/Downloads/>`_
+ when building against Python 2.6, 2.7 or 3.2.
+ Install `Visual Studio Express 2010
+ <http://www.microsoft.com/visualstudio/eng/products/visual-studio-2010-express>`_
+ when building against Python 3.3.
+
+#. Install `Git 1.7
+ <http://git-scm.com/download/win>`_.
+
+#. (Optional) Install `OpenSSL
+ <http://slproweb.com/products/Win32OpenSSL.html>`_.
+
+#. Install latest `distribute` distribution into the Python you
+ installed in the first step: download `distribute_setup.py
+ <http://python-distribute.org/distribute_setup.py>`_ and run it using
+ the ``python`` interpreter of your Python 2.7 installation using a
+ command prompt:
+
+ ::
+
+ c:\> c:\Python27\python distribute_setup.py
+
+#. Use that Python's `bin/easy_install` to install `virtualenv`:
+
+ ::
+
+ c:\> c:\Python27\Scripts\easy_install virtualenv
+
+#. Use that Python's virtualenv to make a workspace:
+
+ ::
+
+ c:\> c:\Python27\Scripts\virtualenv env
+
+#. Open Visual Studio 2008 Command Prompt:
+
+ ::
+
+ c:\> c:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2008\Visual Studio Tools\Visual Studio 2008 Command Prompt.lnk
+
+#. Switch to the ``env`` directory:
+
+ ::
+
+ c:\> cd env
+
+Installing PySide
+-----------------
+
+Use ``pip`` to get `PySide` installed:
+
+::
+
+ c:\env> Scripts\pip install PySide --install-option="--qmake=c:\\Qt\\4.8.2\\bin\\qmake.exe"
+
+Optionally you can specify the path to OpenSSL libs:
+
+::
+
+ c:\env> Scripts\pip install PySide --install-option="--openssl=c:\\OpenSSL32bit\\bin" --install-option="--qmake=c:\\Qt\\4.8.2\\bin\\qmake.exe"
+
+Building PySide installer
+-------------------------
+
+#. Clone ``PySide`` from git repository:
+
+ ::
+
+ c:\> git clone https://github.com/PySide/pyside-setup.git pyside-setup
+
+#. Switch to the ``pyside-setup`` directory:
+
+ ::
+
+ c:\> cd pyside-setup
+
+#. Build ``PySide`` windows installer:
+
+ ::
+
+ c:\> c:\Python27\python setup.py bdist_wininst --qmake=c:\Qt\4.8.2\bin\qmake.exe --openssl=c:\OpenSSL32bit\bin
+
+Installing PySide from source on a UNIX System (Ubuntu 12.04 LTS)
+=================================================================
+
+Installing prerequisities
+-------------------------
+
+#. Install Python 2.7 header files and a static library:
+
+ ::
+
+ $ sudo apt-get install python2.7-dev
+
+#. Install Qt 4.8 libraries:
+
+ ::
+
+ $ sudo apt-get install qt-sdk
+
+#. Install cmake:
+
+ ::
+
+ $ sudo apt-get install cmake
+
+#. Install git:
+
+ ::
+
+ $ sudo apt-get install git
+
+#. Install latest `distribute` distribution into the Python you
+ installed in the first step: download `distribute_setup.py
+ <http://python-distribute.org/distribute_setup.py>`_ and run it using
+ the ``python`` interpreter of your Python 2.7 installation using a
+ command prompt:
+
+ ::
+
+ $ sudo python distribute_setup.py
+
+#. Use that Python's `bin/easy_install` to install `virtualenv`:
+
+ ::
+
+ $ sudo easy_install virtualenv
+
+#. Use that Python's virtualenv to make a workspace:
+
+ ::
+
+ $ virtualenv env
+
+Installing PySide
+-----------------
+
+Use ``pip`` to get `PySide` installed from PyPI:
+
+::
+
+ $ env/bin/pip install PySide
+
+Alternatively you can install development version of `PySide` from github repository:
+
+::
+
+ $ env/bin/pip install git+https://github.com/PySide/pyside-setup.git
+
+You can also specify version of `PySide` when installing from github repository:
+
+::
+
+ $ env/bin/pip install git+https://github.com/PySide/pyside-setup.git@1.1.1
+
+Building PySide distribution egg
+--------------------------------
+
+#. Clone ``PySide`` from git repository:
+
+ ::
+
+ $ git clone https://github.com/PySide/pyside-setup.git pyside-setup
+
+#. Switch to the ``pyside-setup`` directory:
+
+ ::
+
+ $ cd pyside-setup
+
+#. Build ``PySide`` distribution egg:
+
+ ::
+
+ $ env/bin/python setup.py bdist_egg
+
+#. Optionally you can build standalone version of distribution egg with embedded Qt libs:
+
+ ::
+
+ $ env/bin/python setup.py bdist_egg --standalone
+
+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: http://qt.gitorious.org/pyside
+
+Changes
+=======
+
+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
+
+References
+==========
+
+- [1] http://qt.gitorious.org/pyside
+- [2] https://bugreports.qt-project.org/browse/PYSIDE
+- [3] http://www.pyside.org/docs/pseps/psep-0001.html
+- [4] http://developer.qt.nokia.com/wiki/PySideDownloads