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

GTK+ avec Python Discussion :

pygtk sous Windows ?


Sujet :

GTK+ avec Python

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut pygtk sous Windows ?
    Salut les pygtk,
    Je suis en train de créer une application avec pygtk sous Linux et c'est ma première avec cette interface graphique et quand j'ai essayer de l'exécuter sous Windows tout fonctionnait correctement sauf concernant la personnalisation, changement de couleur de fond avec un modify_bg() méthode du widget Notebook() et comme mon application se base sur ce widget comme conteneur de base sauf évidemment la fenêtre principale:

    Je me demandait si il existait une autre manière de changer les couleurs autre que comme dans le code servant d'exemple ci-dessous:

    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
    44
    45
    46
    47
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
     
    import pygtk
    pygtk.require('2.0')
    import gtk,gobject
     
    class Test() :
      def __init__(self) :
        self.main_window=gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.main_window.set_border_width(10)
        self.main_window.set_title('pygkt')
        self.main_window.set_size_request(512,512)
        self.main_window.set_border_width(10)
        self.create_notebook()
     
      def shutdown(self,widget,event) :
        widget.destroy()
        gtk.main_quit()
     
      def create_notebook(self) :
     
        self.notebook=gtk.Notebook()
     
        self.notebook.set_size_request(512,512)
        self.notebook.modify_bg(gtk.STATE_NORMAL,self.notebook.get_colormap().alloc_color('green'))
        self.notebook.set_show_tabs(False)
     
        self.label=gtk.Label()
        self.label.show()
        self.notebook.append_page(self.label)
        self.notebook.show()
     
      def run(self) :
     
        self.main_window.add(self.notebook)
     
     
     
        self.main_window.connect("delete_event",self.shutdown)
        self.main_window.show()
        gtk.main()
     
     
    test=Test()
    test.run()
    Je sais que gtk est normalement pour Linux mais je ne sais si il existe une implémentation pour Windows a titre honorifique car je n'arrive pas a personnaliser mon interface graphique sous cet OS avec pygtk.

    PS: au faite gtk c'est pour :
    -Gnome Toolkit ?
    -GNU Toolkit ?
    -Gimp Toolkit ? ( je crois que ca vient de là)
    -Graphical Toolkit ?

    J'attends vos réponses avec impatience concernant la portabilité de pygtk.
    Merci.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  2. #2
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Puisque personne ne veut me répondre une fois le week-end passer.
    J'aimerai savoir si cet GUI est vraiment portable vers Windows si on programme sous Linux ?

    Personnellement j'écris mes codes sous Linux et j'utilisais Tkinter comme GUI.
    En voulant découvrir d'autres horizons concernant les GUI. j'ai choisie GTK ou plutôt pygtk.

    Et comme le fond blanc par défaut de pygtk ne me plait pas: je ne sais si il est possible de personnaliser pygtk pour Windows au niveau des couleurs....

    PS: eMule le programmme de tétélchargement en P2P a l'air d'êtres contruit avec GTK :
    (toolbar bleu: toogle boutons avec des images sur celle-ci et
    les TextView() enfoncer,
    et le bouton connect en blue) me le laisse penser...

    Merci de bien vouloir répondre a mes questions.
    Tout remarque, critiques et
    toutes anectdote concernant GTK concernant la portabilité vers Windows sont la bienvenue.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  3. #3
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par Luke spywoker Voir le message
    Puisque personne ne veut me répondre une fois le week-end passer.
    Faut pas psychoter, les gens ne répondent pas en général parce qu'ils ne savent pas la réponse, ou n'ont pas le temps.

    Citation Envoyé par Luke spywoker Voir le message
    J'aimerai savoir si cet GUI est vraiment portable vers Windows si on programme sous Linux ?
    Bin c'est portable si tu codes portable. Si tu commences à coder des trucs en dur comme les séparateurs de dossiers dans les chemins de fichiers, ce ne sera pas portable. En gros, on te donne les outils pour rendre ton code portable, mais ce n'est pas une garantie que ça marchera tout de suite, vu que cela dépend de la manière dont tu auras codé.

    Citation Envoyé par Luke spywoker Voir le message
    Personnellement j'écris mes codes sous Linux et j'utilisais Tkinter comme GUI.
    En voulant découvrir d'autres horizons concernant les GUI. j'ai choisie GTK ou plutôt pygtk.

    Et comme le fond blanc par défaut de pygtk ne me plait pas: je ne sais si il est possible de personnaliser pygtk pour Windows au niveau des couleurs....
    C'est possible, il y a des style pour les widgets, que tu peux modifier par programmation, ou dans un fichier gtkrc (pour GTK2). Il faut savoir aussi qu'il y a une version python de GTK3 (PyGObject), mais pas d'installateur car GTK3 n'est pas encore au top sous Windows.

    Citation Envoyé par Luke spywoker Voir le message
    PS: eMule le programmme de tétélchargement en P2P a l'air d'êtres contruit avec GTK :
    (toolbar bleu: toogle boutons avec des images sur celle-ci et
    les TextView() enfoncer,
    et le bouton connect en blue) me le laisse penser...
    Pas vraiment (en tout cas pour amule). C'est du wxWidgets, qui est une couche d'abstraction utilisant le toolkit natif de chaque plateforme. Sous Linux, c'est GTK qui a été choisi. Par conséquent, sous Windows, ton application a donc un look Windows, sous MacOS, un look Mac, et sous Linux un look GTK.

    Citation Envoyé par Luke spywoker Voir le message
    Merci de bien vouloir répondre a mes questions.
    Tout remarque, critiques et
    toutes anectdote concernant GTK concernant la portabilité vers Windows sont la bienvenue.
    Bin comme je l'ai dit, GTK3 c'est le futur, mais il n'est pas encore stabilisé pour Windows, et encore moins pour Python je pense. Du coup, pour une appli impérativement portable, pyGTK est sans doute encore un bon choix.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  4. #4
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Merci, enfin une réponse...
    Il existait un document sur ce site autrefois de Michel Aubry du moins traduit par ses soins qu'on peut encore télécharger ici: qui est une véritable référence a Tkinter complète et bien expliquer avec toutes les méthodes et attributs des widgets Tkinter
    Que j'ai pris le soins d'étudier...
    Cela existe pour pygtk ici mais celle-ci est très longue et pas vraiment bien faite.
    Tous ça pour dire que je ne maîtrise pas tout pygtk et que je n'aime pas être informer de manière non-exhaustive, cependant j'ai bien lue le tutoriel sur pygtk traduit en français et je sais a peine faire fonctionner un Treeview alors j'ai essayer de personnaliser mon interface avec les moyens du bords et tel était ma question concernant Windows et je vais voir si j'arrive a quelque chose avec le widget Style...
    C'est possible, il y a des style pour les widgets, que tu peux modifier par programmation, ou dans un fichier gtkrc (pour GTK2). Il faut savoir aussi qu'il y a une version python de GTK3 (PyGObject), mais pas d'installateur car GTK3 n'est pas encore au top sous Windows.
    Et je ne sais pas ce qu'est un fichiers gtkrc: est-ce un fichier construit avec un Builder...???
    Bref la question reste en suspend et si vous ne pouvez m'aider il va falloir que je développe un peu directement sur Windows pour me familiarisé: je sais a peine me servir du IDLE, tab-tab...
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  5. #5
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Je m'auto-cite:
    Et je ne sais pas ce qu'est un fichiers gtkrc: est-ce un fichier construit avec un Builder...???
    Et j'ai regarder le tutoriel et j'ai vue la technique pour faire des fichier gtkrc, c'est facile mais pas très vaste: dans le tutoriel sont référencer que quelques attributs:
    -bg
    -fg
    -font
    en fonction de l'état du widget mais il doit être possible de faire d'autres personnalisation je pense.
    Mais, le gros mais est que j'ai sommairement tester sous Windows et ça ne marche pas: il semble y avoir les mêmes restrictions que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.notebook.modify_bg(gtk.STATE_NORMAL,self.notebook.get_colormap().alloc_color('green'))
    car la seule personnalisation que j'ai réussis a faire est de changer la couleur du foreground en état PRELIGHT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    style "test" {
    fg[PRELIGHT] = {0.0,1.0,0.0}
    }
    widget_class "*GtkButton*" "test"
    le seule widget dont j'ai réussi a changer le background est la main window:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk.Window(gtk.WINDOW_TOPLEVEL)
    alors je crois que gtk c'est pas ca avec python sur Windows.

    liberforce je ne sais si tu fait du python ou si tu m'a répondu comme ça mais pygtk et Windows je n'y arrive pas
    et le noir et blanc, gris pour les boutons, et le bleu des toolbar et menu inchangeable je trouve ça nul de pas pouvoir personnaliser une interface graphique.

    Merci quand même pour la réponse.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  6. #6
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    J'ai fait un peu de pygtk, effectivement, mais pas pour Windows. Du coup, je n'ai jamais touché aux thèmes, je préfère l'apparence par défaut des interfaces.

    La FAQ PyGTK a une rubrique consacrée aux thèmes sous Windows:
    http://faq.pygtk.org/index.py?file=f...2.htp&req=show
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

Discussions similaires

  1. compatibilité pyGTK et python2.7 sous windows
    Par turboiii dans le forum GTK+ avec Python
    Réponses: 2
    Dernier message: 28/05/2010, 17h38
  2. pygtk + glade sous windows
    Par jvander59 dans le forum GTK+ avec Python
    Réponses: 1
    Dernier message: 22/08/2009, 12h21
  3. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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