# Autres langages > Python > GUI > [Python 3.X] GUI plus facile

## PySerge

Bonjour, 
Je suis un nouvel apprenant de Python et je viens de finir la partie graphique (contruction de fentres et widgets,...), avec Tkinter, et je m'adapte avec wxpython; ce que je veux savoir, c'est s'il existe un EDI python facile comme VB.NET ou Delphi,... o on peut manipuler (dplacer et positionner les widgets) pour gagner du temps.

Merci d'avance.

----------


## bistouille

Salut,

Il ne doit pas y avoir grand monde qui utilise ce genre de chose, mais peut-tre me trompe-je.

Pour trouver, il faut chercher avec les bons mots clefs avec ton moteur de recherche favori.
https://duckduckgo.com/python%20tkin...qt%20rad?ia=qa

Faut quand mme faire attention  bien regarder ce qui est encore maintenu, et ce qui ne l'est plus depuis bien longtemps.

----------


## hotcryx

> Bonjour, 
> Je suis un nouvel apprenant de Python et je viens de finir la partie graphique (contruction de fentres et widgets,...), avec Tkinter, et je m'adapte avec wxpython; ce que je veux savoir, c'est s'il existe un EDI python facile comme VB.NET ou Delphi,... o on peut manipuler (dplacer et positionner les widgets) pour gagner du temps.
> 
> Merci d'avance.


rponse tardive mais Pycharm devrait le faire.

----------


## naute

Bonjour  ::D:  .




> ce que je veux savoir, c'est s'il existe un EDI python facile comme VB.NET ou Delphi,... o on peut manipuler (dplacer et positionner les widgets) pour gagner du temps.


Rponse encore plus tardive, mais si tu veux du "Delphi like", tu peux aussi essayer "Boa constructor". Il a t crit dans ce but.

Amicalement,
naute

----------


## wiztricks

> Rponse encore plus tardive, mais si tu veux du "Delphi like", tu peux aussi essayer "Boa constructor". Il a t crit dans ce but.


Est-ce disponible sur Python3? J'en doute.

- W

----------


## naute

Bonjour *wiztricks*  ::D:  .




> Est-ce disponible sur Python3? J'en doute.


Sauf erreur de ma part, il a t port sous Python v3 : voir ici.
Je l'utilise personnellement sous Python v2.7.13, donc je ne peux pas donner d'avis sur le portage.

Amicalement,
naute

----------


## bizulk

Mme sous Python 2.7 il me semble que Boa Constructor a ncessit des corrections chez moi,
J'utilise PyCharm mais je n'ai pas trouv d'diteur de formulaire.
J'ai utilis pygubu pour tkinter, pour des GUI de tesst.

----------


## tyrtamos

Bonjour,

J'ai commenc aussi avec tkinter, et quand j'ai cherch une librairie graphique plus performante, j'ai essay wxPython et PyQt. Comme j'avais beaucoup travaill avec Delphi, j'ai cherch un bon programme de dessin de fentre, et j'ai choisi PyQt grce  son "Qt Designer" qui sait dessiner les fentres de manire interactive. Et je ne l'ai pas regrett: a marche vraiment trs bien. 

Le Designer est commun avec Qt5 crit en C++. Il fabrique un texte en XML. Avec une commande de PyQt, on convertit ce texte en code Python qu'il suffit d'importer dans la partie principale du programme qu'on dveloppe en Python. 

C'est en plus facile  installer avec pip: on installe "PyQt5", puis "pyqt5-tools" qui contient le Designer ainsi que d'autres programmes utilitaires (Assistant et Linguist).

La bibliothque graphique Qt5 est utilise par le bureau graphique KDE de Linux, et bnficie en consquence de mises  jour assez frquentes, suivies assez rapidement par PyQt5 de riverbank (https://riverbankcomputing.com/software/pyqt/intro).

Il existe aussi "PySide2" (Qt for Python => https://wiki.qt.io/Qt_for_Python) qui fait la mme chose que PyQt5 et qui a une licence plus "libre", mais je ne sais pas o en est son dveloppement.

----------


## bizulk

Pour Qt : attention quand mme aux licences, il est dual LGPLv3 / Commercial (cher et pas adapt pour une PME  mon avis).
D'autre pas a m'ennuie d'embarquer Qt "juste" pour sa partie graphique, c'est un framework complet. 
A part la partie graphique (Tk) trs rudimentaire, Python a dj ce qu'il faut.
Est-ce que l'on a cre un PyQT packag avec son UI seulement ?
Sinon je vois pas vraiment l'intrt, autant travailler directement avec Qt.

La wxPython me semblait plus dsigne, mais boa constructor n'est hlas plus vraiment maintenu.

----------


## tyrtamos

Bonjour,

Pour le dessin des fentres, je n'ai rien trouv d'autre sous Python que PyQt, et a marche trs bien sur ce point: on peut dessiner des fentres complexes, avec des widgets qui "suivent" bien les redimensionnements. On peut mme sous Python utiliser des widgets personnaliss.

Pour la licence: j'ai bien parl de PSide2 qui est dvelopp par l'quipe de Qt et qui a une licence GPL. Le problme de licence de PyQt n'existe que si on veut vendre le logiciel qu'on a dvelopp.

Dire qu'il ne faut pas prendre PyQt parce qu'il en fait trop est bizarre. C'est plutt un avantage. Par exemple la classe QThread fait ce que fait threading.Thread, mais permet en plus de communiquer par signaux avec le thread principal, ce qui donne des solutions trs lgantes pour des tches longues (calcul, tlchargement, ...). On peut aussi faire du multimdia facilement: j'utilise tous les jours un petit programme d'coute de radios internet trs pratique, log dans la zone de notification (http://python.jpvweb.com/python/mesr...pyqt5_radioweb) que j'ai dj propos sur ce forum. La consultation et la modification d'une base de donnes relationnelle avec une grille de type tableur est galement facile (c'tait aussi un de mes critres de choix). On peut fabriquer directement des fichiers "pdf" pour crer, par exemple, des courriers personnaliss qu'on envoie ensuite, toujours sous Python, en pices jointes par email. On peut aussi intgrer un navigateur internet pour consulter l'aide d'un programme qu'on a crite en html (avec bluegriffon). Etc...

Sur le plan des performances, on garde Python pour la partie facile, et on compte sur la partie Qt crite en C++ pour aller vite: on a ainsi le meilleur des 2 mondes. On peut ensuite utiliser cx_freeze ou pyinstaller pour crer des versions autonomes afin de faciliter la diffusion sur des PC sans Python. Sous Windows, l'ajout d'un installeur comme innosetup donnera un programme graphique qui s'installera et ressemblera  n'importe quel autre, au point que l'utilisateur ne saura mme pas que c'est crit en Python...

----------


## bizulk

Je disais plutt que les dpendances de votre programme pyQt sont redondantes.
Vous utilisez les mcanismes de threading de Qt plutt que celui de Python, mais vous avez les deux. Quand au systme de signal/slot que je trouve trs bien aussi, il existe bien d'autres alertnatives (libsig++) qui peuvent tre intgres.

Qt a son propre systme de scripting (moteur javascript).
Vous codez en python mais vous ne connaissez peut-tre pas python, parce que vous vous arrtez  sa partie facile...
Du coup vous architecturez de faon douteuse, pour moi....

C'est pour cela que je prfrerai les wxWidgets, qui ont eux aussi un format XML et des designers. mais qui s'arrtent  la partie GUI.

C'est ainsi aussi que python ne progresse pas bien lui-mme avec ses GUI ddis, puis que l'on embarque des framework tierces  tout va...
Vous me suivez ?
Quand aux licences, on est pour beaucoup des pros ici, on espre gagner en comptence sur des licences qui sont contextuellement exploitables.
Si finalement on ne sait faire que du Qt, on devient tributaire de sa politique commerciale.

Cdlt,

----------


## tyrtamos

*@ bizulk*

Bonjour,

Je reconnais que mon seul objectif est de faire des programmes fiables et faciles  utiliser sans autre contrainte. Je n'utilise que les fonctions officiellement disponibles, en vitant soigneusement de considrer la machinerie interne. Et jusqu' prsent, a s'est plutt bien pass, y compris pour des gros programmes, et a dure depuis 10 ans. 

Mais je reconnais que dans d'autres contextes, on peut avoir  faire d'autres choix. Pas de problme pour moi.

En ce qui concerne les licences, l'quipe de Qt5 dite "PySide2" qui fait la mme chose que PyQt5, mais avec une licence "LGPL" (un peu moins contraignante que GPL), comme wxPython.

----------

