La nouvelle mouture de PySide vient de sortir. Cette version est à considérer comme une version de maintenance puisque qu'elle ne fait que corriger un certain nombre de bogues.
Lors de la sortie de PySide 1.0.8, l'équipe de développement de ce binding avait annoncé sa compatibilité avec Python 3.2. Malheureusement, quelques bogues empêchaient sa bonne compilation. Ces problèmes ont été corrigés et il est dorénavant possible de compiler ce binding pour la branche 3 de Python comme le montre l'image ci-dessous.
Pour ceux désireux de réaliser cette compilation, la marche à suivre est la même que celle proposée dans l'article traduit par Thibaut Cuvelier excepté pour le module shiboken pour lequel les commandes sont les suivantes :
Code : | Sélectionner tout |
1 2 3 4 5 6 | mkdir build cd build cmake .. -DUSE_PYTHON3=ON make sudo make install sudo ldconfig |
La liste des bogues corrigés est disponible sur le site officiel de PySide.
Sortie de PySide 1.0.7
Avec une consommation mémoire moindre
Mise à jour du 21/09/11
Nokia annonce ce jour la sortie de la version 1.0.7 de son binding Python pour Qt.
Cette nouvelle version corrige un certain nombre de bogues mais apporte aussi une amélioration de la consommation de mémoire, l'un des objectifs principaux de l'équipe de développement depuis la sortie de la version 1.0.0.
Nokia n'évoque par contre rien de nouveau concernant le devenir de son binding suite à son annonce précédente.
Téléchargez PySide 1.0.7
Source : Site officiel de PySide
Sortie de PySide 1.0.4
Le binding Python de Qt prend en charge la dernière version de MeeGo utilisé dans le Nokia N9
Mise à jour du 23/06/11
Nokia vient d'annoncer la sortie de la release mensuelle de PySide : PySide 1.0.4.
En plus des quelques correctifs, cette version apporte une compatibilité complète avec squich, outil multi-platforme permettant de tester les logiciels que vous créez et supportant plusieurs langages.
On peut aussi noter le support de Harmattan, la dernière version de MeeGo, utilisée dans le nouveau N9 de Nokia.
Télécharger PySide 1.0.4
Source
Sortie de PySide 1.0.3
Le binding Python de Qt prend en charge MeeGo 1.2
L'équipe PySide vient d'annoncer la sortie de la version 1.0.3 du binding Python de Qt par Nokia. Cette version corrige plusieurs bogues mais apporte aussi les nouveautés ci-dessous :
- prise en charge officielle pour MeeGo 1.2 ;
- apparition de la nouvelle classe ClassInfo afin de remplacer la macro Q_CLASSINFO ;
- nombre de slots et signaux illimité ;
- retour du support pour Qt 4.5.
Il semblerait aussi que de nouveaux thèmes soient disponibles lors de l'utilisation de Bugzilla
Source : http://www.pyside.org/2011/05/735/
Mise à jour du 30/05/2011 par Jiyuu
PySide 1.0.2
La dernière version mineure de PySide, la 1.0.2, est sortie récemment. Elle ne contient que des corrections de bogues, majoritairement des fonctions manquantes. À signaler aussi que cette version est déjà disponible pour Fremantle, nom de code de la cinquième version de Maemo, distribution Linux pour mobiles, dans le dépôt extras-dev.
781 Method “QPainter::drawPoints(const QPoint*, int)” missing
782 Method “QPainter::drawPolygon(const QPointF*, int, Qt::FillRule)” missing
783 Method “QPainter::drawPolyline(const QPoint*, int)” missing
784 Method “QPainter::drawRects(const QRect*, int)” missing
823 Shiboken doesn’t support function call overloads
741 Method “qreal QTextLine::cursorToX(int *cursorPos, Edge edge = Leading) const” missing
742 Method “void QPrinter::getPageMargins(qreal*, qreal*, qreal*, qreal*, Unit) const” missing
753 Methods “void QTextDocument::undo(QTextCursor*)” missing
754 Methods “void QTextDocument::redo(QTextCursor*)” missing
755 Methods “void QInputContext::setFocusWidget(QWidget*)” missing
757 Constructor “QPixmap(const char* const[] xpm)” missing
688 The __iadd__ and __isub__ method is missing in QTextFrame.iterator
720 QByteArray prints itself wrong, on tp_print and tp_repr
722 float vs. qreal conflict in new-style-signals
739 Method “QTransform::map(qreal x, qreal y, qreal* tx, qreal* ty) const” missing
740 Method “QBitmap::fromData(QSize,const uchar*,QImage::Format)” missing
743 The removed method “QMatrix4×4::operator()(int, int)” should be replaced by an implementation of the sequence protocol
744 Method “void QGraphicsLayout::getContentsMargins(qreal*, qreal*, qreal*, qreal*) const” missing
745 Method “void QGraphicsLayoutItem::getContentsMargins(qreal*, qreal*, qreal*, qreal*) const” missing
746 Method “QFormLayout::getLayoutPosition(QLayout*,int*,QFormLayout::ItemRole*)const” missing
747 Method “QFormLayout::getWidgetPosition(QWidget*,int*,QFormLayout::ItemRole*)const” missing
748 Method “QFormLayout::getItemPosition(int,int*,QFormLayout::ItemRole*)const” missing
750 Method “QFontInfo QPainter::fontInfo() const” missing
751 Method “void QSplashScreen::repaint()” missing
752 Method “void QSplitter::getRange(int index, int* min, int* max) const” missing
756 Method “void QWidget::getContentsMargins(int*,int*,int*,int*) const” missing
758 Method “void QTextCursor::selectedTableCells(int*,int*,int*,int*)const” missing
759 Method “virtual void QPicture::setData(const char* data, uint size)” missing
764 Method “void QLayout::getContentsMargins(int*,int*,int*,int*) const” missing
773 Method QWebFrame.metaData is missing
774 Operator “QKeySequence::operator[](uint)const” missing
775 Operator “QKeySequence::operator QVariant() const” missing
778 Iterator protocol methods missing for QTreeWidgetItemIterator
787 ObjectDescription.fromIndex(int) is missing.
788 QIPv6Address.__getitem__ is missing.
819 QFileDialog.getSaveFileName does not accept a ’selectedFilter’ argument.
843 Provide constants for Qt and PySide version (documentation)
782 Method “QPainter::drawPolygon(const QPointF*, int, Qt::FillRule)” missing
783 Method “QPainter::drawPolyline(const QPoint*, int)” missing
784 Method “QPainter::drawRects(const QRect*, int)” missing
823 Shiboken doesn’t support function call overloads
741 Method “qreal QTextLine::cursorToX(int *cursorPos, Edge edge = Leading) const” missing
742 Method “void QPrinter::getPageMargins(qreal*, qreal*, qreal*, qreal*, Unit) const” missing
753 Methods “void QTextDocument::undo(QTextCursor*)” missing
754 Methods “void QTextDocument::redo(QTextCursor*)” missing
755 Methods “void QInputContext::setFocusWidget(QWidget*)” missing
757 Constructor “QPixmap(const char* const[] xpm)” missing
688 The __iadd__ and __isub__ method is missing in QTextFrame.iterator
720 QByteArray prints itself wrong, on tp_print and tp_repr
722 float vs. qreal conflict in new-style-signals
739 Method “QTransform::map(qreal x, qreal y, qreal* tx, qreal* ty) const” missing
740 Method “QBitmap::fromData(QSize,const uchar*,QImage::Format)” missing
743 The removed method “QMatrix4×4::operator()(int, int)” should be replaced by an implementation of the sequence protocol
744 Method “void QGraphicsLayout::getContentsMargins(qreal*, qreal*, qreal*, qreal*) const” missing
745 Method “void QGraphicsLayoutItem::getContentsMargins(qreal*, qreal*, qreal*, qreal*) const” missing
746 Method “QFormLayout::getLayoutPosition(QLayout*,int*,QFormLayout::ItemRole*)const” missing
747 Method “QFormLayout::getWidgetPosition(QWidget*,int*,QFormLayout::ItemRole*)const” missing
748 Method “QFormLayout::getItemPosition(int,int*,QFormLayout::ItemRole*)const” missing
750 Method “QFontInfo QPainter::fontInfo() const” missing
751 Method “void QSplashScreen::repaint()” missing
752 Method “void QSplitter::getRange(int index, int* min, int* max) const” missing
756 Method “void QWidget::getContentsMargins(int*,int*,int*,int*) const” missing
758 Method “void QTextCursor::selectedTableCells(int*,int*,int*,int*)const” missing
759 Method “virtual void QPicture::setData(const char* data, uint size)” missing
764 Method “void QLayout::getContentsMargins(int*,int*,int*,int*) const” missing
773 Method QWebFrame.metaData is missing
774 Operator “QKeySequence::operator[](uint)const” missing
775 Operator “QKeySequence::operator QVariant() const” missing
778 Iterator protocol methods missing for QTreeWidgetItemIterator
787 ObjectDescription.fromIndex(int) is missing.
788 QIPv6Address.__getitem__ is missing.
819 QFileDialog.getSaveFileName does not accept a ’selectedFilter’ argument.
843 Provide constants for Qt and PySide version (documentation)
Mise à jour du 15/05/2011 par dourouc05
PySide 1.0.1 est sorti, avec d'autres nouveautés
La version 1.0.1 de PySide est sortie, elle ne s'occupe que de corriger des bogues de la version précédente. Ce n'est pas la plus grande nouvelle concernant le binding Python de Qt pour cette fois-ci. La dernière version de PySide.
Il faut aussi remarquer l'apparition de nightly builds, des paquets de la version de développement de PySide, donc moins stable qu'une sortie officielle. Ils peuvent être utilisés pour voir ce que contiendra la prochaine version de PySide et améliorer le retour utilisateur au sujet notamment des bogues. Ces fichiers sont mis à jour chaque nuit à partir du repository Git à 1h, GMT -3. Les nightly build.
Aussi, PySide supporte maintenant officiellement MeeGo, avec un paquet basé sur les fichiers de spécification d'openSUSE. Toutes les informations sont disponibles sur la page concernée du wiki.
Ainsi, PySide est officiellement disponible sur Windows, Mac OS X, Maemo 5, MeeGo et toutes les distributions Linux majeures.
Sources : http://www.pyside.org/2011/04/pyside...r-qt-released/, http://www.pyside.org/2011/03/pyside...ightly-builds/, http://www.pyside.org/2011/03/pyside-1-0-meego/ et http://lists.pyside.org/pipermail/py...il/002328.html
Mise à jour du 06/04/2011 par dourouc05
PySide 1.0.0 en version finale
Le binding Python de Qt supporte aussi Qt Quick
Mise à jour du 04/03/11
Quelques jours après la sortie de Qt 4.7.2, le binding Python promu par Nokia, PySide, se met sur son 31 et affiche la version finale de la 1.0.0, après un long cycle de développement, deux semaines après la release candidate, la communauté ayant apporté énormément au développement de cette version.
S'achève donc ainsi la période de correction des bogues, des régressions et des autres dysfonctionnements en tout genre, l'ajout de nouvelles fonctionnalités va pouvoir reprendre. Notamment, il est prévu pour cette série d'ajouter le support de Python 3. Aussi, l'amélioration du code reprendra de plus belle, pour diminuer l'occupation mémoire et améliorer les performances.
D'ores et déjà, une série de paquets pour diverses plateformes sont disponibles : la plupart des distributions Linux répandues, Windows, OS X et Maemo 5 peuvent déjà passer à PySide 1.0.0 sans attendre.
La date de la prochaine version n'a pas été annoncée ; on pourrait s'attendre à voir des nouvelles d'ici à deux semaines, comme précédemment.
PySide 1.0.0 est disponible sur cette page
Source : Notes de version
Lire aussi : Billet original
PySide 1.0.0 : une cinquième beta disponible
La version finale du binding Python de Qt devrait arriver dans le mois
Mise à jour du 02/02/11 par Jiyuu
Et voici plus vite que prévu la beta 5 de PySide, qui corrige une nouvelle fois un certain nombre de bogues (23 cette fois).
D'après l'équipe de développement, nous devrions voir arriver d'ici deux semaines la première version release candidate (rc1), puis en théorie une version 1.0 après deux semaines de rc1.
Source
La quatrième béta de PySide 1.0.0 vient de sortir
Mise à jour du 25/01/11 par Jiyuu
Cette version, tout comme la précédente, est principalement orientée maintenance puisqu'elle corrige 47 bogues classés prioritaires.
Les nouvelles versions d'apiextractor, generatorrunner, shiboken, libpyside, pyside-tools sont donc disponibles.
À noter cependant, qu'à la différence des béta 2 et 3, celle-ci arrive avec un exécutable Windows.
Pour les autres plateformes les sources sont disponibles directement sur la page téléchargement du site PySide.
Pour finir, et malheureusement, l'équipe PySide prévoit encore de nouvelles bétas avant la sortie de la version stable de PySide 1.0.
Le rendez-vous est donc pris dans deux semaines pour la béta 5.
Sources: http://www.pyside.org/
Sortie de PySide 1.0.0 beta 3
Elle corrige 35 bogues qualifiés de haute priorité du binding Python pour le framework Qt
Par Jiyuu et dourouc05 le 07/01/2010
Nokia vient d'annoncer la sortie de la troisième beta de son binding Python du framework Qt. Cette nouvelle beta est principalement considérée comme une version de maintenance, corrigeant trente-cinq bogues de la deuxième beta, ces bogues étant qualifiés de haute priorité. Des versions corrigées de apiextractor, shiboken et libpyside, partie de la chaîne d'outils servant à la génération du binding, sont aussi disponibles.
Actuellement, seule les sources de cette version sont disponibles ; des versions binaires devraient être disponibles par l'intermédiaire de la communauté.
Quelques bogues de haute importance sont toujours à corriger, semble-t-il, ce qui justifiera une nouvelle version beta dans deux semaines. Lors de cette beta 4, il faudra à nouveau réévaluer la situation en termes de bogues critiques, pour envisager une nouvelle beta ou une Release Candidate dans les deux semaines qui suivront.
Source : http://www.pyside.org/2011/01/python...miak-released/
Par dourouc05, le 18/12/2010
Voici donc sortie la deuxième beta de PySide, le binding Python de Qt initié par Nokia, dont la principale différence avec le binding historique, PyQt, réside dans la licence : PySide est disponible sous LGPL, une licence moins restrictive que la GPL employée par PyQt. Ainsi, un binding Python de Qt peut être utilisé pour des développements propriétaires sans obligation de payer une licence commerciale.
La première version beta de PySide (la bien dénommée beta 1) apportait un grand changement par rapport aux versions précédents (0.4.2 et avant) : un changement dans l'ABI (Application Binary Interface), ce qui, pour rester en dehors des détails techniques, obligeait à recompiler toute application se basant sur PySide (notamment le module Python). Cependant, ainsi, le projet se dote d'une architecture qui pourra servir pendant encore un certain temps, enlevant les choix de conceptions qui se sont avérés moins bons que d'autres.
La beta 1 améliorait le support de Qt Quick et de QML, les interfaces utilisateur dans ce langage déclaratif étaient désormais possibles en Python ; une seule chose manquait : l'enregistrement de nouveaux types QML depuis Python. Cela est désormais possible, comme l'atteste l'exemple : http://qt.gitorious.org/pyside/pysid...listproperties.
Le support de Python 3 a été déclaré comme "non insurmontable" mais est prévu pour après la sortie de la version finale de la branche 1.0. Il est à remarquer, à ce niveau, que PyQt supporte déjà Python 2.x et 3.x, mais propose à chacun des API différentes, l'API 1 est plus prévue pour le portage d'applications du C++ au Python (par défaut pour Python 2.x), l'API 2 étant plus pythonique (par défaut pour Python 3.x), ce qui n'est pas très cohérent. Le PSEP 101, déjà implémenté, fait le choix de ne se baser que sur l'API 2, car plus pythonique ; ce choix permettra de passer sans trop de dégâts dans son code à Python 3.x.
Afin de fignoler le travail, au moins deux betas sont prévues avant cette version finale (trois semaines avant la beta 3, puis deux semaines pour la beta 4 et deux nouvelles semaines pour la finale, tels sont les projets).
Sources
PSEP 101
PySide: Python for Qt version 1.0.0~beta2 “Mineshaft gap” released
Voir aussi
Les interfaces déclaratives avec QML
Les tutoriels PyQt et PySide
La rubrique Qt
La première version beta de PySide (la bien dénommée beta 1) apportait un grand changement par rapport aux versions précédents (0.4.2 et avant) : un changement dans l'ABI (Application Binary Interface), ce qui, pour rester en dehors des détails techniques, obligeait à recompiler toute application se basant sur PySide (notamment le module Python). Cependant, ainsi, le projet se dote d'une architecture qui pourra servir pendant encore un certain temps, enlevant les choix de conceptions qui se sont avérés moins bons que d'autres.
La beta 1 améliorait le support de Qt Quick et de QML, les interfaces utilisateur dans ce langage déclaratif étaient désormais possibles en Python ; une seule chose manquait : l'enregistrement de nouveaux types QML depuis Python. Cela est désormais possible, comme l'atteste l'exemple : http://qt.gitorious.org/pyside/pysid...listproperties.
Le support de Python 3 a été déclaré comme "non insurmontable" mais est prévu pour après la sortie de la version finale de la branche 1.0. Il est à remarquer, à ce niveau, que PyQt supporte déjà Python 2.x et 3.x, mais propose à chacun des API différentes, l'API 1 est plus prévue pour le portage d'applications du C++ au Python (par défaut pour Python 2.x), l'API 2 étant plus pythonique (par défaut pour Python 3.x), ce qui n'est pas très cohérent. Le PSEP 101, déjà implémenté, fait le choix de ne se baser que sur l'API 2, car plus pythonique ; ce choix permettra de passer sans trop de dégâts dans son code à Python 3.x.
Afin de fignoler le travail, au moins deux betas sont prévues avant cette version finale (trois semaines avant la beta 3, puis deux semaines pour la beta 4 et deux nouvelles semaines pour la finale, tels sont les projets).
Sources
PSEP 101
PySide: Python for Qt version 1.0.0~beta2 “Mineshaft gap” released
Voir aussi
Les interfaces déclaratives avec QML
Les tutoriels PyQt et PySide
La rubrique Qt