Bonjour,
Quelle est cette librairie ?
http://www.pygtk.org/
Je cherche comment charger un navigateur (celui par defaut) dans un canvas (enfin google)
Thierry
Bonjour,
Quelle est cette librairie ?
http://www.pygtk.org/
Je cherche comment charger un navigateur (celui par defaut) dans un canvas (enfin google)
Thierry
Salut,
Qt propose cela. Et bien plus encore.
http://pyqt.sourceforge.net/Docs/PyQt4/classes.html
Regarde à la lettre W
Bonjour,
Oui effectivement, avec PyQt 4.11 est-ce que la compilation avec python 2.7 + cx_freeze est compatible ?
merci
Avec l'aide de tyrtamos, oui.
Re
bien compliquer pour un ajout de librairie..
merci
Bonjour,
Le choix d'une bibliothèque graphique est loin d'être anodin. Ces bibliothèques sont puissantes mais complexes, et nécessitent un gros investissement personnel en temps. En contrepartie, ces bibliothèques permettent de créer avec Python des programmes graphiques qui, sur le plan esthétique et même rapidité, tiennent la comparaison avec d'autres langages.
Pour rendre de tels programmes autonomes, je confirme que cx_freeze est une solution qui marche, tant avec Python 2.7 que 3.4 + PyQt4 (je n'ai pas encore essayé avec PyQt5).
Toujours pour Windows, il y a une autre solution possible: utiliser un python portable comme ici: portablepython. Cela permet, par exemple, de diffuser un programme sur une clé USB et de le faire tourner sur un PC qui n'a pas Python (ou qui n'en a pas la bonne version).
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
Je vais me faire l'avocat du diable
Avant tout, je rejoint Tyrtamos sur le fait qu'il est important de bien choisir sa lib IHM. J'ai personellement testé Pygtk, pyside, pyqt et dernierement wxpython. Eh bien je n'ai adhere qu'à pygtk. Dans ton choix de lib IHM, il faut donc inclure comme critere le cote philosophique de la lib. Si tu y adhere totalement, tu arrivera beaucoup mieux à te plonger dedans que si tu n'y adhere pas.
Sinon CX_freeze est compatible pygtk, vu que je m'en sert personnellement.
"La connaissance appartient à tout le monde" (Film Antitrust)
Tout le nécessaire pour Python:
*News/Accueil *Cours/tutoriels *FAQ *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels
Je suis d'accord mais que fais exactement pygtk et pourquoi pas Qt ou autre, son point fort à pygtk c'est quoi ?
Ce que je trouve bisar en compile le même programme écrit en python 2.7 se compile sans souci, tu le mets en python 3.4 ton setup.py ne fonctionne plus.
a+
merci
Thierry
Ce qui change, principalement d'une lib IHM à l'autre (mais pas que):
=>le rendu graphique (d'un os à l'autre; Linux, windows, ...) (notons que Pygtk possède un module de rendu, assez peu connu).
=>les widgets disponibles
=>la documentation
A cela tu dois mettre une surcouche: la philosophie. Cette dernière est appliquée à tous les niveaux:
=>Construction de la GUI
=>Niveau et qualité des widgets
=>Organisation et qualité de la documentation
Ainsi si la philosophie est de ne fournir que des briques de bases et de faire beaucoup de parametrage, ton IHM/GUI sera très complexe à construire, la doc pourra être tellement énorme que cela en sera déroutant, tu risque de n'avoir que des widgets très basiques, personnalisable via de nombreux paramètres.
Au contraire, si la philosophie est d'etre très haut niveaux, ton IHM pourra etre simple à construire, mais cela signifiera beaucooup de widget, et donc la aussi une doc enorme potentiellement.
Perso donc, je n'utilise que pygtk, n'ayant jamais adhéré aux autres philosophie, mais c'est une question de gout (quand tu as le choix). Pygtk peut paraitre un peu brut de décoffrage à certains, mais il va droit au but je trouve. Il mise bien plus sur le fonctionnel de l'application que sur l’esthétique. C'est également je trouve un excellent compromis à tous les niveaux. La doc, bien que brute elle également, est parfaitement exploitable et on trouve rapidement les infos recherchées.
A ajouter que j'ai decouvert recemment qu'il y avait un module de rendu permettant de rendre un esthetique plus sympa (je ne sait pas encore comment il marche).
Après pour répondre à ta question pourquoi cette lib et pas une autre, il n'y a pas de réponse toute faite. Cela te plait ou non, tu y adhères ou non. A moins qu'on te l'impose c'est à toi d'étudier les differentes lib et de voir celle qui te convient le mieux.
Quand aux setup.py je n'en ai encore jamais eu besoin, donc je ne peut répondre à cette question.
"La connaissance appartient à tout le monde" (Film Antitrust)
Tout le nécessaire pour Python:
*News/Accueil *Cours/tutoriels *FAQ *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels
Bonjour,
Je n'ai bien entendu rien contre PyGtk que j'aurais pu choisir au lien de PyQt.
J'ai choisi PyQt pour 2 raisons principales:
1- j'avais absolument besoin d'un outil pour dessiner des fenêtres complexes, et l'outil de PyQt (QtDesigner) m'a paru bien adapté à cela.
2- j'avais besoin de consulter/modifier des tables de bases de données relationnelles avec un outil graphique de type tableur, et les outils de PyQt m'ont semblé bien pour ça.
Je n'ai pas dit que PyGtk en était incapable, mais que j'ai préféré PyQt pour ça.
Cela veut dire aussi qu'en plus des aspects philosophiques, on peut choisir entre les bibliothèques en fonction des développements qu'on envisage de faire et des outils nécessaires.
Et pour choisir, il me semble inévitable d'installer les 2 et de faire tourner les exemples et demos. Il y a en particulier chez PyQt un programme "demo" assez impressionnant (avec le code Python!).
Quand au setup.py de mon tuto, c'est bizarre qu'il ne marche qu'avec Python 2.7, parce que mon exemple est construit en Python 3.4. Il faudrait en connaitre plus que "ça ne marche pas" pour que je réagisse. Soit il y a une erreur marquée dans la longue liste du traitement par cx_freeze, soit il y en a à l'exécution, mais il faut lancer le programme exe en console pour le voir.
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
bonsoir,
J'ai regardé PyQt, pyside très performants, Qtdesigne j'ai fais un essai et j'obtiens du htlm donc via python je ne comprends pas l'intégration.
Pour la philosophie si vous avez satisfaction sur le résultat, pour moi ce qui importe c'est le résultat dans le technique ensuite la gui est secondaire (bon pas moche quand même).
je joint le setup.py , il fonctionne bien mais un truc tout de même, j'ai un max de langage joint.
j'ai un programme principal et deux imports, fonctions dans autres py.
lib utilisées (tkinter, win32print, tkMessageBox...)
cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 #!/usr/bin/python #-*- coding: utf-8 -*- # Python 2.7 pour 32 ou 64 bits import sys, os from cx_Freeze import setup, Executable ############################################################################# path = sys.path.append(os.path.join("..", "..", "biblio")) includes = [] excludes = [] packages = [] options = {"path": path, "includes": includes, "excludes": excludes, "packages": packages } base = None if sys.platform == "win32": base = "Win32GUI" cible_1 = Executable( script = "log.py", base = base, compress = True, icon = "icone.ico", ) ############################################################################# # creation du setup setup( name = "log27", version = "0.1", description = "Utilitaire log", author = "thierry", options = {"build_exe": options}, executables = [cible_1] )
Bonjour,
Ce n'est pas du HTML mais du XML. Avec le logiciel "pyuic4" (donné avec PyQt4), il est traduit en code Python:
Il suffit ensuite d'importer ce code dans le programme Python, et on peut accéder à tous les widgets de la fenêtre dessinée avec leur nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part pyuic4 mafenetre.ui -o mafenetre.py
C'est une technique intéressante, parce que c'est le même fichier XML de description de la fenêtre qui sert pour tous les langages utilisant la bibliothèque Qt: C++, C#, java, lisp, python, ruby, ... (https://en.wikipedia.org/wiki/List_o...dings_for_Qt_4)
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
A noter que coté pygtk tu as Glade qui existe. Il repose aussi sur du xml.
Mais tu n'es pas obligé de passer par ce genre d'outil. Perosnellement, je code tout from scratch et je prefere amplement car je suis sur de tout maitriser comme je le desire, et je n'ai aps l'etape d'interfaçage entre xml et code.
Pour le reste comme l'as dis Tyrtamos, il faut que tu installe les deux et que tu prennes les exemple de base afin de voir ce qui te plait et te conviens le mieux. Si tu ne passes pas par cete etape, ce que tu risque, c'est de devoir recommencer à 0 en cours de route parce que tu voudra changer de lib IHM. Ce serait donc contre productif
"La connaissance appartient à tout le monde" (Film Antitrust)
Tout le nécessaire pour Python:
*News/Accueil *Cours/tutoriels *FAQ *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels
Bonjour,
Je vais regardé, mais je dois passer à python 3.4 avant, dont le problème pour moi reste entier, pas de compilation. D'autant plus que mon setup.py, j'en suis certain pourrait-être amélioré.
merci à vous deux, je vous tiens au courant de l'évolution.
N'oublie pas de passer ton post à apres
"La connaissance appartient à tout le monde" (Film Antitrust)
Tout le nécessaire pour Python:
*News/Accueil *Cours/tutoriels *FAQ *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager