Développement d'applications avec Python 3, Glade et GTK + 3 sous Windows

Introduction

Dans GNU / Linux, le développement d'applications avec Python 3, Glade et GTK + 3 est très simple, les packages sont fournis par défaut dans la plupart des distributions.

À travers Clairière nous pouvons créer des interfaces utilisateur rapidement et facilement, puis les utiliser en conjonction avec Python. Pour y parvenir, vous utilisez PyGObjectName grâce au système d'introspection offert par GNOME, qui facilite grandement le développement rapide d'applications (RAD); il est également possible d'utiliser nos interfaces créées avec Glade à partir d'autres langages de programmation.

Le problème se produit lorsque nous voulons utiliser nos applications dans Microsoft Windows, car jusqu'à récemment, il n'y avait pas de packages officiels pour ce système.

Avec ce tutoriel, il est prévu que les applications qui ont été faites sous GNU / Linux en utilisant Python 3 et GTK + 3 fonctionnent sans problèmes sous Windows.

exigences

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 ou supérieur (concepteur d'interface graphique)
  • PyGobjectName

Installation sous Windows

Il commencera par créer un dossier appelé ,software ou un autre de votre préférence et nous y enregistrerons tous les packages téléchargés.

Télécharger les packages d'installation

Télécharger Python 3.3

Il peut être téléchargé depuis la page officielle Python python.org

Télécharger l'installateur Python

Télécharger l'installateur Python

En cliquant sur le lien (windows Installer) le programme d'installation de Python sera téléchargé.

Télécharger Glade

Site de téléchargement: glade.gnome.org

Les versions Python et Glade sont 32 bits, mais elles fonctionnent parfaitement sur les systèmes 64 bits

Page Glade

Page Glade

Télécharger PyGObject

Site de téléchargement: https://wiki.gnome.org/PyGObject

Il faut télécharger la version pour GTK + 3

PyGObjectName

PyGObjectName

PyGObject dans le code Google

PyGObject dans le code Google

Installation des packages

Jusqu'à présent, nous avons déjà tous les packages téléchargés dans le dossier ,software et comme nous avons téléchargé chaque paquet, nous commencerons par l'installation de Python.

Paquets téléchargés

Paquets téléchargés

Installation de Python

L'installation est très simple, l'assistant nous guidera tout au long du processus; Nous laissons toutes les options marquées par défaut.

Programme d'installation de Python

Programme d'installation de Python

Comme le montre l'image, Python s'installe dans le dossier C: \ Python33 \ Par défaut, nous le laissons tel quel et continuons l'installation.

Dossier d'installation de Python

Dossier d'installation de Python

À ce stade de l'installation, nous sélectionnons l'option Ajouter python.exe au chemin, dans le but que lorsque nous lançons un interpréteur Python, il est exécuté sans qu'il soit nécessaire de l'ajouter manuellement au chemin système.

Ajouter Python au chemin système

Ajouter Python au chemin système

Ensuite, nous terminons l'installation et Python aura été installé sur notre système.

Installation de clairière

L'installation de Glade ne représente pas une complication majeure, nous exécutons le programme d'installation et suivons les étapes de l'assistant.

Installer Glade

Installer Glade

Installation de PyGObject

Nous avions téléchargé le package pygi-aio-3.4.2rev11.7z, ce package comprend les bibliothèques PyGObject pour Python 3.3 et GTK + 3 pour Windows, compressées avec 7-zip, nous le décompressons et nous aurons un dossier avec le contenu suivant:

Contenu du dossier pygi-aio-3.4.2rev11.7

Contenu du dossier pygi-aio-3.4.2rev11.7

Maintenant, nous copions le dossier gtk a C: \ Python33 \ Lib \ site-packages c'est là que les packages tiers pour Python sont installés.

Copier le dossier gtk

Copier le dossier gtk

Dossier Gtk sur C: \ Python33 \ Lib \ site-packages

Dossier Gtk sur C: \ Python33 \ Lib \ site-packages

Nous retournons à notre dossier pygi-aio-3.4.2rev11 et nous ouvrons le dossier py33 pour la version Python qui est 3.3

Contenu du dossier py33

Contenu du dossier py33

Nous sélectionnons tout le contenu dossier py33 et nous le recopions dans le dossier C: \ Python33 \ Lib \ site-packages, on nous demandera de mélanger et d'écraser, nous répondons par l'affirmative. Le contenu du dossier packages de site ce serait comme indiqué dans l'image suivante:

Copiez le contenu du dossier py33 dans C: \ Python33 \ Lib \ site-packages

Copiez le contenu du dossier py33 dans C: \ Python33 \ Lib \ site-packages

Vérification de l'installation correcte de PyGobject et GTK + 3

Pour vérifier que notre installation a été correcte, nous ouvrons le Python IDLE et importons les bibliothèques GTK + 3 et si nous n'avons pas de message d'erreur, tout aura été fait correctement.

from gi.repository import Gtk

PyGobject et GTK + 3 installés correctement

PyGobject et GTK + 3 installés correctement


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   joaquin dit

    Et pourquoi GTK? Ne serait-il pas préférable de développer en QT? en plus d'être multiplateforme et beaucoup disent que c'est l'avenir

    1.    Arthur dit

      Eh bien, les deux grandes bibliothèques graphiques sur le bureau GNU / Linux sont GTK et QT, chacune choisit celle qu'elle préfère. Il n'y a aucune raison de se battre.

      La différence entre GTK et QT est que ce dernier est un framework, très bon certes, mais étant un framework il consomme un peu plus de ressources.

      Par exemple, Mozilla Firefox, Google Chrome, LibreOffice et un long etc. sont réalisés avec GTK; Cela ne veut pas dire que c'est mieux que QT, chacun doit choisir celui qui correspond à ses préférences et ses besoins, nous ne voulons pas provoquer de discussion à ce sujet.

      1.    pandev92 dit

        Google Chrome à partir de la version 33, quittez gtk.

  2.   Rolo dit

    et pourquoi l'explication de Windows et non de Linux

    1.    Germán dit

      Est-ce parce que sous Linux, tout est déjà emballé et dans les référentiels officiels de chaque distribution? Dans Fedora, par exemple, j'ai déjà installé Python 3, Gtk + 3 et PyGobject par défaut. Si je veux Glade, c'est juste "yum install glade". Facile non? 🙂

    2.    Arthur dit

      Parce que comme le dit Germán, pour les distributions GNU / Linux, elles sont déjà packagées et il est très facile de les installer; par exemple, installer glade dans Debian est très simple:
      aptitude installer glade

  3.   Marcelo dit

    Si je veux utiliser Python 2.7, les étapes seront-elles les mêmes?
    De toute évidence, en installant le Python 2.7 32 bits (même si vous utilisez le système d'exploitation 64 bits) et au lieu du dossier py33, le 2.7 irait. Cela fonctionnerait-il?
    Merci.

    1.    Arthur dit

      Eh bien oui, si vous avez un problème, laissez-moi un commentaire.

      Luck.

      1.    Marcelo dit

        Merci, je l'ai essayé et pour l'instant le "Hello world" fonctionne pour moi.

        Je vois si je peux obtenir un bon didacticiel pyGTK3 ou ce qu'il s'appelle et des problèmes, avertissement.

          1.    Marcelo dit

            Caramba! Merci beaucoup!

          2.    Marcelo dit

            Tester GTK3 avec Python 2.7 sous Windows et suivre le tutoriel. Jusqu'à présent, tous les programmes fonctionnent pour moi, sauf celui du chapitre 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Cela me donne l'erreur suivante:
            Traceback (appel le plus récent dernier):
            Fichier "C: \ Users \ User \ Desktop \ test.py", ligne 24, dans
            win = IconViewWindow ()
            Fichier "C: \ Users \ User \ Desktop \ test.py", ligne 19, dans __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (icône, 64, 0)
            Fichier "C: \ Python27 \ lib \ site-packages \ gi \ types.py", ligne 47, en fonction
            retourne info.invoke (* args, ** kwargs)
            GError: l'icône 'gtk-cut' n'est pas présente dans le thème

            J'ai essayé avec d'autres icônes et cela ne fonctionne pas non plus Dois-je installer un thème? Merci depuis maintenant.

          3.    Marcelo dit

            L'exemple 19. Glisser-déposer non plus.

            La fonction qui appelle dans les deux cas et c'est là que j'obtiens une erreur est:

            pixbuf = Gtk.IconTheme.get_default (). load_icon (nom_icône, 16, 0)

            Je ne trouve pas l'icône, mais dans d'autres exemples, vous pouvez les utiliser. Cela ne me donne une erreur que lorsque je veux l'utiliser avec cette fonction (ici, icon_name peut être remplacé par une valeur telle que Gtk.STOCK_CUT ou autre et cela donne exactement la même erreur).

          4.    Marcelo dit

            Je continue de me parler. Ce qui fonctionne pour moi dans d'autres exemples, c'est que les images se chargent sur les boutons. Je ne peux pas charger les icônes avec la fonction qui vient dans les deux exemples que j'ai donnés plus tôt.

          5.    Arthur dit

            Je pense que l'erreur est claire:
            GError: l'icône 'gtk-cut' n'est pas présente dans le thème

            Apparemment, cette icône n'est pas disponible, utilisez une autre icône. Le responsable du paquet n'a probablement pas inclus les icônes de thème ou il ne peut pas être trouvé dans le chemin par défaut, utilisez une distribution GNU / Linux et voyez si la même erreur apparaît toujours.

            En ce qui concerne la question 19, elle semble être liée à la version PyGobject, en haut de la documentation, il est dit:

            Notes
            Les versions de PyGObject = 3.0.3 sont nécessaires pour que les exemples suivants fonctionnent.

            La version que vous avez est 3.0, essayez une distribution GNU / Linux; et puis nous devons attendre qu'ils mettent à jour le package (pour Windows) ou dans tous les cas, vous pouvez le compiler vous-même.

            Salutations et continuez.

          6.    Marcelo dit

            Dans Ubuntu, tous les exemples de didacticiels fonctionnent parfaitement pour moi. Sous Windows, cela ne fonctionne toujours pas. Je vais devoir attendre. Un autre qui ne marche pas est l'exemple du Spinner, qui ne fait pas l'animation. Salutations et merci.

  4.   Josué dit

    J'ai suivi le tutoriel d'installation et tout installé étape par étape.
    Et en exécutant le code suivant:
    depuis gi.repository import Gtk

    classe FiestraPrincipal:
    def __init __ (soi):
    filename = "/ data / dam / Exemples Python / Saudoform"
    constructeur = Gtk.builder ()
    constructor.add_from_file (nom de fichier)
    #dictionary où nous relions le sinais aux événements
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructeur.connect_signals (sinais)
    # Nous obtenons une référence au descripteur XML pour pouvoir accéder
    self.label = self.widgets_widget ("Libellé")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (self, widget):
    text = self.cadroTexto.get_text ()
    self.label.set_text ("wave% s"% text)

    si __nom__ == »__ main__»:
    FiestraPrincipal ()
    Gtk.Main ()

    J'obtiens cette réponse:
    Traceback (appel le plus récent dernier):
    Fichier «C: / Users / admin / Google Drive / test / SaudoForm.py», ligne 3, dans
    depuis gi.repository import Gtk
    Fichier "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", ligne 27, dans
    à partir de ._gi import _API, Référentiel
    ImportError: échec du chargement de la DLL:% 1 n'est pas une application Win32 valide.

    Quelqu'un sait quel est le problème ou quelle peut être sa solution possible.
    Merci beaucoup.

  5.   Jésus dit

    Intéressant. J'avais fait l'installation sous Linux, mais l'explication pour Windows est bonne, maintenant je l'ai dans les deux. 😉

  6.   Raphaël Carmona dit

    C'est drôle sur un Windows 7 32 bits la première fois.
    Sur un Windows 7 64 bits, je ne peux pas le faire fonctionner, je l'obtiens toujours;
    >>> de gi.repository import Gtk
    Traceback (appel le plus récent dernier):
    Fichier «», ligne 1, dans
    Fichier "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", ligne 27, dans
    depuis ._gi import _API
    ImportError: échec du chargement de la DLL: le processus spécifié est introuvable.

    Je l'ai essayé quand même possible, j'ai déjà perdu l'illusion de l'installer.

    1.    Arthur dit

      Vous verrez que les bibliothèques 64 bits ont encore des bogues, veuillez installer la version 32 bits de python et de GTK + pour ne pas avoir de problèmes.

      Vous ne devriez jamais perdre l'illusion 🙂

  7.   Richard dit

    Salut je travaille avec python + gtk3, c'est très bien maintenant je suis dans un petit problème je veux changer l'icône de mon formulaire (fenêtre) dans ce cas et je peux le changer, merci d'avance, salutations

  8.   jors dit

    publier des vidéos simples sur la programmation en gtk + 3 et des tutoriels simples salutations

  9.   Jose dit

    Excellent tutoriel. Merci beaucoup pour ton effort. Cordialement.

  10.   jkmilo1030 dit

    J'ai fait toutes les étapes et quand je suis allé faire confiance à l'installation, j'ai eu cette erreur.

    Traceback (appel le plus récent dernier):
    Fichier «», ligne 1, dans
    depuis gi.repository import Gtk
    ImportError: aucun module nommé 'gi'