Skip to content

Latest commit

 

History

History
184 lines (118 loc) · 5.38 KB

LISEZMOI.md

File metadata and controls

184 lines (118 loc) · 5.38 KB

Build Status

Bienvenue

Pygubu est un logiciel RAD pour développer rapidement et facilement des interfaces utilisateur avec le module tkinter en Python.

Les interfaces utilisateur conçues sont sauvées au format XML, et grâce à l'utilisation du constructeur pygubu, elles peuvent être chargées dynamiquement par les applications, si nécessaire.

Pygubu est inspiré de Glade.

Installation

Pygubu requiert Python >= 2.7 (Testé seulement avec Python 2.7.3, 3.2.3 avec tk8.5).

Vous pouvez installer pygubu par :

l'archive zip

Téléchargez et décompressez l'archive. Ouvrez un terminal, dirigez-vous vers le répertoire d'extraction puis exécutez :

python setup.py install

pip

pip install pygubu

Notez que si vous utilisez Python 3, vous pouvez utiliser son propre outil pip, par exemple :

pip3.5 install pygubu

Dans le cas précédent, j'utilise l'outil pip de Python 3.5

Pour vérifier le succès de l'installation, vous pouvez essayer d'importer pygubu - par exemple depuis IDLE

import pygubu

Si vous n'avez pas d'erreur ImportError, alors votre installation s'est faite avec succès.

Utilisation

Écrivez dans un terminal la commande suivante, selon votre système

Unix-like systems

pygubu-designer

Windows

C:\Python34\Scripts\pygubu-designer.exe

C:\Python34 est le chemin de votre répertoire d'installation de Python.

Note : pour les versions antérieures à 0.9.8, l'exécutable était nommé pygubu-designer.bat

Ensuite, l'application pygubu-designer devrait apparaître, telle quelle :

pygubu-desinger.png

Maintenant, vous pouvez commancer à créer votre application tkinter en utilisant les widgets que vous trouverez dans le panneau de gauche, appelé Widget List.

Après que vous ayez terminé de créer votre interface UI, sauvegardez-la en tant que fichier .ui par l'usage du menu File > Save.

Ce qui suit est un exemple d'interface UI, appelé helloworld.ui, créé en utilisant pygubu :

<?xml version='1.0' encoding='utf-8'?>
<interface>
  <object class="ttk.Frame" id="mainwindow">
    <property name="height">200</property>
    <property name="padding">20</property>
    <property name="width">200</property>
    <layout>
      <property name="column">0</property>
      <property name="propagate">True</property>
      <property name="row">0</property>
      <property name="sticky">nesw</property>
    </layout>
    <child>
      <object class="ttk.Label" id="label1">
        <property name="anchor">center</property>
        <property name="font">Helvetica 26</property>
        <property name="foreground">#0000b8</property>
        <property name="text" translatable="yes">Hello World !</property>
        <layout>
          <property name="column">0</property>
          <property name="propagate">True</property>
          <property name="row">0</property>
        </layout>
      </object>
    </child>
  </object>
  </interface>

Ensuite, vous devez créer votre script d'application, tel que ci-dessous :

#test.py
try:
    import tkinter as tk  # for python 3
except:
    import Tkinter as tk  # for python 2
import pygubu


class Application:
    def __init__(self, master):

        #1: Create a builder
        self.builder = builder = pygubu.Builder()

        #2: Load an ui file
        builder.add_from_file('helloworld.ui')

        #3: Create the widget using a master as parent
        self.mainwindow = builder.get_object('mainwindow', master)


if __name__ == '__main__':
    root = tk.Tk()
    app = Application(root)
    root.mainloop()

Notez l'ajout de helloworld.ui dans la ligne suivante :

builder.add_from_file('helloworld.ui')

Vous devez insérer le nom du fichier (ou son chemin).

Notez aussi l'ajout de 'mainwindow' dans la ligne suivante :

self.mainwindow = builder.get_object('mainwindow', master)

Vous devez avoir le nom de votre widget main (le parent de tous les widgets), sinon vous obtiendrez l'erreur similaire :

Exception: Widget not defined.

See this issue for more information.

Documentation

Visitez le wiki pygubu pour consulter la documentation.

Voici quelques bonnes références de tkinter (et tk) :

Vous pouvez aussi voir le répertoire examples ou regarder ce tutoriel d'introduction en vidéo.

Histoire

Consultez la liste des changements ici.