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
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
Télécharger PyGObject
Site de téléchargement: https://wiki.gnome.org/PyGObject
Il faut télécharger la version pour GTK + 3
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.
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.
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.
À 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.
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.
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:
Maintenant, nous copions le dossier gtk a C: \ Python33 \ Lib \ site-packages c'est là que les packages tiers pour Python sont installés.
Nous retournons à notre dossier pygi-aio-3.4.2rev11 et nous ouvrons le dossier py33 pour la version Python qui est 3.3
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:
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
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
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.
Google Chrome à partir de la version 33, quittez gtk.
et pourquoi l'explication de Windows et non de Linux
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? 🙂
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
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.
Eh bien oui, si vous avez un problème, laissez-moi un commentaire.
Luck.
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.
Tutoriel:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Merci beaucoup!
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.
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).
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.
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.
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.
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.
Intéressant. J'avais fait l'installation sous Linux, mais l'explication pour Windows est bonne, maintenant je l'ai dans les deux. 😉
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.
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 🙂
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
publier des vidéos simples sur la programmation en gtk + 3 et des tutoriels simples salutations
Excellent tutoriel. Merci beaucoup pour ton effort. Cordialement.
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'