Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/10/2011, à 16:30

wooper77

Interface de développement graphique ?

Bonsoir,

Depuis mon passage sous ubuntu, je me suis dis pourquoi pas développez des petit programmes (car avant je faisait de petite chose avec visual basic) donc j'ai vu qu'il y avait python, mais je ne sais pas si il existe une interface graphique (comme visual basic, on place des bouton avec leurs code ...)

Cordialement,

Hors ligne

#2 Le 30/10/2011, à 17:53

VinsS

Re : Interface de développement graphique ?

Salut,

Au départ, tu peux utiliser TKinter, le graphisme n'est plus au top mais il permet malgré tout d'entrer dans le monde des interfaces utilisateurs sans s'arracher les cheveux.

Si tu ne le connais pas encore regarde ici pour le cours de Swinnen:
    http://python.developpez.com/cours/TutoSwinnen/        (il y a une version pdf téléchargeable)

Sur cette même page tu pourras trouver d'autre cours ou bouquins, si l'anglais ne te rebute pas, "Dive Into Python" est un classique.

Un conseil, si tu commence, commence par Python2, Python3 est encore peu utilisé, et passer de l'un à l'autre ne pose aucun problème si les bibliothèques nécessaires suivent.

Bon arrivée.


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#3 Le 30/10/2011, à 18:20

wooper77

Re : Interface de développement graphique ?

Comment avoir TKinter ?

Je n'ai rien trouver dans la documentation ...

Sinon j'ai trouver quelque chose appelé : GTK+ mais je ne sais pas si c'est bien ce que je cherche .

Cordialement,

Hors ligne

#4 Le 30/10/2011, à 18:34

Yarod

Re : Interface de développement graphique ?

Si tu ne crains pas l'anglais, et en développement, vaut mieux ;-)

Il y a une suite de vidéos pour apprendre python et GTK : http://vimeo.com/dgsiegel/videos/sort:date

Le site gnome donne aussi quelques pistes : http://developer.gnome.org/gnome-devel-demos/unstable/ (section python)


Yarod
#167105

Hors ligne

#5 Le 30/10/2011, à 19:17

wooper77

Re : Interface de développement graphique ?

J'aimerais juste savoir si je peut développer des programmes avec une interface graphique ? si oui comment (si vous m'envoyez vers des page en anglais, je ne pourrais pas les comprendre je suis un peut trop jeune ((13 ans)) )

Hors ligne

#6 Le 30/10/2011, à 21:53

wooper77

Re : Interface de développement graphique ?

Ou alors si je me tourne vers du c++ avec codeblocks, j'aurais une interface graphique pour le développement ?

Hors ligne

#7 Le 30/10/2011, à 22:01

k3c

Re : Interface de développement graphique ?

Pour Tkinter, tu peux regarder "Penser en Tkinter"

http://www.ferg.org/thinking_in_tkinter … inter.html

Il y a quelques typos, mais c'est pas mal.
Le type qui l'a traduit a eu une bonne idée :-)


Archlinux sur Xiaomi Air 13

Hors ligne

#8 Le 31/10/2011, à 00:31

wooper77

Re : Interface de développement graphique ?

Je pense que je me suis mal exprimer ...

Prenons visual basic comme exemple, quand je programmais dessus, je pouvais inclure des boutons, label,timer .... .... ...

Et bien j'aimerais faire la même chose (donc intégrer des bouton, label , Progressbar ...) mais avec python !

Est-ce que c'est possible ? Si oui pouvez vous me dire comment ? (Pouvez vous évitez l'anglais car je suis assez jeune et je ne comprend pas trop trop ... )

Cordialement,
Antoine.

Hors ligne

#9 Le 31/10/2011, à 00:52

AnsuzPeorth

Re : Interface de développement graphique ?

wooper77 a écrit :

Prenons visual basic comme exemple

Mauvais exemple big_smile

Je ne connais pas visual basic, mais si tu veux un truc graphique pour faire une interface, glade est fait pour ça. C'est du gtk. glade te permet de créer l'interface sans entrer de code, ensuite il te faut connecter les signaux de tes widgets aux fonctions de ton code.
Mais il te faudra apprendre le python et pygtk (pygobject meme, tu tombes mal, juste au moment du passage a gtk3, donc de gros changements au niveau des libs).

Tu peux aussi commencer avec le bash, et zenity par exemple pour le gui (de simple boite de dialogue). Il y a aussi gtkdialog et glade2script (qui fonctionne aussi avec python). C'est pas du temps de perdu de se coller à bash AMHA, on s'en sert souvent sous linux !

Bien que python soit plus puissant et plus simple.


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#10 Le 31/10/2011, à 04:44

VinsS

Re : Interface de développement graphique ?

Hi, pour Tkinter, il est dans les dépôts

Synaptic >> cherche "python-tk"
ou en console:

sudo apt-get install python-tk

Sur ma page utilisateur j'ai un petit jeu en exemple

http://doc.ubuntu-fr.org/utilisateurs/vinss

tu le copie-colle dans ton bloc-note et tu le lance en console

python color.py

enfin si tu l' a nommé color.py.  (c'est un jeu de recherche de couleur)



Edit:  Je te rajoute trois liens:

http://alain72.developpez.com/tutos/wxPython/              # facile
http://python.developpez.com/cours/pygtktutorial/          # utile et en plus on trouve plein d'exemple en gtk
http://ogirardot.developpez.com/introduction-pyqt/         # là aussi des exemples a la pelle

Dernière modification par VinsS (Le 31/10/2011, à 05:52)


Vincent
Oqapy      Qarte      PaQager

Hors ligne

#11 Le 31/10/2011, à 07:26

Yarod

Re : Interface de développement graphique ?

wooper77 a écrit :

Je pense que je me suis mal exprimer ...

Prenons visual basic comme exemple, quand je programmais dessus, je pouvais inclure des boutons, label,timer .... .... ...

Et bien j'aimerais faire la même chose (donc intégrer des bouton, label , Progressbar ...) mais avec python !

Est-ce que c'est possible ? Si oui pouvez vous me dire comment ? (Pouvez vous évitez l'anglais car je suis assez jeune et je ne comprend pas trop trop ... )

Cordialement,
Antoine.

Et bien, pour avoir un IDE (environnement graphique de développement), tu peux commencer par http://www.commentcamarche.net/faq/8014 … n-et-glade


Yarod
#167105

Hors ligne

#12 Le 31/10/2011, à 12:12

wooper77

Re : Interface de développement graphique ?

Voila,

Sauf que sur Visual Basic il suffisait de double cliquer et entrer le code, c'était plus simple .


Bon ba au boulot

Merci encore, si vous avez des site pour apprendre de Python avec Glade dite le moi wink

Merci !!!

EDIT : C'est normale que je ne peut pas redimensioné par exemple mes bouton ? Car il prenne toute la fenêtre ou il sont trop grand ...

Cordialement,

Dernière modification par wooper77 (Le 31/10/2011, à 12:24)

Hors ligne

#13 Le 31/10/2011, à 13:27

Yarod

Re : Interface de développement graphique ?

wooper77 a écrit :

Voila,
...
EDIT : C'est normale que je ne peut pas redimensioné par exemple mes bouton ? Car il prenne toute la fenêtre ou il sont trop grand ...

Cordialement,

La philosophie de placement des objets visuels est différente de VB. Par défaut, tout est "élastique" ;-)


Yarod
#167105

Hors ligne

#14 Le 31/10/2011, à 14:13

wooper77

Re : Interface de développement graphique ?

Ok,

Bon ba je m'en vais a la recherche de tuto smile

Hors ligne

#15 Le 31/10/2011, à 15:39

wooper77

Re : Interface de développement graphique ?

Après avoir suivis ça :



http://www.commentcamarche.net/faq/8014 … n-et-glade

J'obtiens ça en le lancant (via le terminal)

./python.py: ligne 9: Erreur de syntaxe près du symbole inattendu « "2.0" »
./python.py: ligne 9: `pygtk.require("2.0")'

Hors ligne

#16 Le 31/10/2011, à 16:41

xapantu

Re : Interface de développement graphique ?

Il faudrait que tu postes le contenu du fichier que tu as fait, mais à vue de nez, je dirais que tu as oublié le "#!/usr/bin/python" et qu'il essaye de l'exécuter comme un code bash.

Hors ligne

#17 Le 31/10/2011, à 17:03

wooper77

Re : Interface de développement graphique ?

Mon code :

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import pygtk
pygtk.require("2.0")
import gtk
import gtk.glade

class monprogramme:
    def __init__(self):
        self.widgets = gtk.glade.XML('test.glade',"window1")
        events = { 'on_button1_clicked': self.monclic,
                   'delete': self.delete               }
        self.widgets.signal_autoconnect(events)

    def delete(self, source=None, event=None):
    gtk.main_quit()

    def monclic(self, source=None, event=None):
        self.widgets.get_widget('label1').set_text('Vous avez cliqué !')
        return True
       
if __name__ == '__main__':
    app = monprogramme()
    gtk.main()

Erreur :

(python.py:2450): libglade-WARNING **: Expected <glade-interface>.  Got <interface>.

(python.py:2450): libglade-WARNING **: did not finish in PARSER_FINISH state
Traceback (most recent call last):
  File "./python.py", line 23, in <module>
    app = monprogramme()
  File "./python.py", line 10, in __init__
    self.widgets = gtk.glade.XML('test.glade',"window1")
RuntimeError: could not create GladeXML object

Hors ligne

#18 Le 31/10/2011, à 17:19

xapantu

Re : Interface de développement graphique ?

Bon alors, en fait, je n'avais pas regardé, mais le tutoriel traite d'une version ancienne de gtk (c'est du gtk2 et ça utilise libglade alors que maintenant il faut mieux utiliser gtk3 et gtkbuilder). Donc, voici une version qui marche bien sur Ubuntu à partir d'oneiric (en théorie sur natty aussi), adapté du tutoriel :
python.py:

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
from gi.repository import Gtk

class monprogramme:
    def __init__(self):
        self.widgets = Gtk.Builder.new()
        self.widgets.add_from_file('moninterface.ui')
        events = { 'on_button1_clicked': self.monclic,
                   'delete': self.delete               }
        self.widgets.connect_signals(events)

    def delete(self, source=None, event=None):
        Gtk.main_quit()

    def monclic(self, source=None, event=None):
        self.widgets.get_object('label1').set_text('Vous avez cliqué !')
        return True
       
if __name__ == '__main__':
    app = monprogramme()
    Gtk.main()

Les changements par rapport à ta version sont :

  • les imports ne fonctionnent plus pareil

  • renomage de tous les gtk en Gtk

  • on utilise gtkbuilder à la place de glade, donc il y a quelques fonctions qui change (add_from file, get_object à la place de get_widget...)

  • utilisation d'un fichier en gtkbuilder (.ui) à la place d'un fichier glade.

moninterface.ui :

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <!-- interface-requires gtk+ 3.0 -->
  <object class="GtkWindow" id="window1">
    <property name="visible">True</property>
    <property name="can_focus">False</property>
    <property name="has_resize_grip">False</property>
    <signal name="delete-event" handler="delete" swapped="no"/>
    <child>
      <object class="GtkBox" id="box1">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="orientation">vertical</property>
        <child>
          <object class="GtkButton" id="button1">
            <property name="label" translatable="yes">Clickez moi !</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="receives_default">True</property>
            <property name="use_action_appearance">False</property>
            <signal name="clicked" handler="on_button1_clicked" swapped="no"/>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">True</property>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="label1">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="label" translatable="yes">coucou</property>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">True</property>
            <property name="position">1</property>
          </packing>
        </child>
      </object>
    </child>
  </object>
</interface>

Ce fichier, bien que ça ne soit pas un fichier libglade, peut être modifié (et a été créé) avec glade, comme l'autre.

Il te faudra peut-être installer ces paquets "python-gobject, gir1.2-gtk-3.0".

Bon, par contre, si tu n'es pas sous oneiric, ça ne marchera pas (bien).

edit: et si tu veux utiliser ton fichier précédent, je pense que le problème est du au fait que c'est un fichier  gtkbuilder, vérifie que glade enregistre bien en fichier "Libglade".

Dernière modification par xapantu (Le 31/10/2011, à 17:22)

Hors ligne

#19 Le 31/10/2011, à 22:56

wooper77

Re : Interface de développement graphique ?

Je suis sur la version 11.10 de ubuntu .

Donc en gros j'installe les paquets que tu m'as dis et c'est bon ?

J'enregistre tout en lib... et voila ?

PS : si tu connais le Python, j'aimerais bien que tu m'apprenne car j'apprend mieux par des gens que par des tuto .

Cordialement,

Dernière modification par wooper77 (Le 31/10/2011, à 22:57)

Hors ligne

#20 Le 01/11/2011, à 11:09

xapantu

Re : Interface de développement graphique ?

wooper77 a écrit :

Je suis sur la version 11.10 de ubuntu .

Donc en gros j'installe les paquets que tu m'as dis et c'est bon ?

Si je n'en ai pas oublié, oui, sinon, tu cherche rapidement sur google, tu vas facilement trouver smile

J'enregistre tout en lib... et voila ?

Non, dans ce cas, tu enregistre en gtkbuilder, libglade est le format obsolète qui était utilisé il y a quelques années.

PS : si tu connais le Python, j'aimerais bien que tu m'apprenne car j'apprend mieux par des gens que par des tuto .

Je n'ai jamais été très doué pour l'enseignement, et jusqu'à aujourd'hui, ça va, je suis en vacances, mais demain, je reprends les cours, et tout ça, je n'aurai plus le temps.

Hors ligne