IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

PyGTK: GTK+ for Python


Sujet :

Python

  1. #1
    Membre régulier Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Points : 82
    Points
    82
    Par défaut PyGTK: GTK+ for Python
    Bonjour,

    Quelle est cette librairie ?
    http://www.pygtk.org/

    Je cherche comment charger un navigateur (celui par defaut) dans un canvas (enfin google)

    Thierry

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Qt propose cela. Et bien plus encore.

    http://pyqt.sourceforge.net/Docs/PyQt4/classes.html

    Regarde à la lettre W

  3. #3
    Membre régulier Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    Oui effectivement, avec PyQt 4.11 est-ce que la compilation avec python 2.7 + cx_freeze est compatible ?
    merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Avec l'aide de tyrtamos, oui.

  5. #5
    Membre régulier Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Points : 82
    Points
    82
    Par défaut
    Re

    bien compliquer pour un ajout de librairie..
    merci

  6. #6
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par Thierry_V Voir le message
    bien compliquer pour un ajout de librairie..
    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

  7. #7
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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

  8. #8
    Membre régulier Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par deusyss Voir le message
    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.
    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

  9. #9
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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

  10. #10
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    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

  11. #11
    Membre régulier Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Points : 82
    Points
    82
    Par défaut
    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]
        )

  12. #12
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par Thierry_V Voir le message
    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.
    Ce n'est pas du HTML mais du XML. Avec le logiciel "pyuic4" (donné avec PyQt4), il est traduit en code Python:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pyuic4 mafenetre.ui -o mafenetre.py
    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.

    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

  13. #13
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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

  14. #14
    Membre régulier Avatar de Thierry_V
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Août 2013
    Messages : 153
    Points : 82
    Points
    82
    Par défaut
    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.

  15. #15
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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

Discussions similaires

  1. [Python 2.X] pyhobdcalc for Python Hexdecimal Octal Binar Decimal calculator.
    Par Luke spywoker dans le forum Bibliothèques tierces
    Réponses: 0
    Dernier message: 20/08/2014, 02h49
  2. PyQT5 for python 3.3 (PyCharm)
    Par Bloby dans le forum PyQt
    Réponses: 0
    Dernier message: 13/07/2014, 22h49
  3. boucle for python
    Par space_56 dans le forum Général Python
    Réponses: 3
    Dernier message: 22/01/2011, 13h06
  4. Réponses: 0
    Dernier message: 19/05/2008, 14h02
  5. Delphi for Python
    Par EricStib dans le forum Général Python
    Réponses: 2
    Dernier message: 16/04/2007, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo