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 21/09/2010, à 14:00

maxsou1948

Pas de ToolBar avec Python

Bonjour à vous,

J'ai besoin de votre aide pour résoudre un  ou deux problèmes.
Depuis quelques semaines, j'apprends le langage de programmation Python.
Je lis beaucoup et j'essaie tous les exemples que je trouve.

Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2

Je vous signale que La StatusBar va bien

1er problème:
Je bloque sur la création d'une ToolBar. Ca veut pas. J'ai essayer avec d'autres programmes et c'est pareil. Pas moyen d'avoir une ToolBar.

2ièm problème:
Où mettre l'image ou quel chemin je dois mettre pour avoir l'image "exit.png" dans la ligne qui suit:
toolbar.AddLabelTool(wx.ID_EXIT, '', wx.Bitmap('../icons/exit.png'))

Je mets le programme car il n'est pas trop long:

#!/usr/bin/python

# simpletoolbar.py

import wx

class SimpleToolbar(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(300, 200))

        toolbar = self.CreateToolBar()
        toolbar.AddLabelTool(wx.ID_EXIT, '', wx.Bitmap('../icons/exit.png'))
        toolbar.Realize()

        self.Bind(wx.EVT_TOOL, self.OnExit, id=wx.ID_EXIT)

        self.Centre()
        self.Show(True)

    def OnExit(self, event):
        self.Close()


app = wx.App()
SimpleToolbar(None, -1, 'simple toolbar')
app.MainLoop()

Je vous remercie d'avance de votre aide
Merci

Hors ligne

#2 Le 21/09/2010, à 14:09

barbafunk

Re : Pas de ToolBar avec Python

Tout d'abord, ton deuxième problème :
- Tu mets le chemin où ton image se situe. Si elle est dans le dossier de ton script, et qu'elle s'appelle exit.png, ta ligne devrait ressembler à ça :

toolbar.AddLabelTool(wx.ID_EXIT, '', wx.Bitmap('./exit.png'))

Pour ton premier problème, une fois que tu as renseigné correctement le chemin vers l'image, ton script fonctionne.

Hors ligne

#3 Le 21/09/2010, à 15:37

maxsou1948

Re : Pas de ToolBar avec Python

Salut barbafunk,

Merci de m'aider,

Avec une recherche,

Dans /usr/share/icons/gnome/

Il y a: Lien vers image PNG et image PNG

Lequel je prends?

Aussi, il y a: 16X16, 22X22, 24X24, Etc..., quel je prends?

Ca avance, J'ai l'image (icon).

Si il y a une ToolBar, je ne peux pas la voir car c'est de la même couleur que la couleur du panel

Merci beaucoup

Dernière modification par maxsou1948 (Le 21/09/2010, à 15:56)

Hors ligne

#4 Le 21/09/2010, à 15:48

HP

Re : Pas de ToolBar avec Python

maxsou1948 a écrit :

Dans /usr/share/icons/gnome/
Lequel je prends?

Je dirais aucun… il faudrait voir si ta librairie (wxWidgets, en l'occurrence) sait utiliser les icônes du thème utilisé par l'utilisateur, un peu comme on peut le faire en pyGTK… ou sinon, utiliser tes propres icônes ; parce que si le chemin /usr/share/icons/gnome/ n'existe pas… ce qui peut être plus que probable, bé ça va pas être évident pour ton application, non ? Il va, aussi, falloir que tu comprennes les chemins, ou en améliore ta compréhension, ce qui ne te semble pas évident a priori.

À moins que ce ne soit une obligation, pour faire du "Gnome", je te conseillerais pyGTK ; en même temps, j'ai jamais aimé wxWidgets…

Dernière modification par HP (Le 21/09/2010, à 15:53)


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#5 Le 21/09/2010, à 16:19

maxsou1948

Re : Pas de ToolBar avec Python

Salut a vous deux,

Quand je mets les images dans le même dossier que le script, je vois les images quand le programme s'exécute

Le pb est que la ToolBar est de la même couleur que le panel, si il y en a une,je ne la vois pas

que veut dire les deux points avant le slash?

('../icons/exit.png')
  ^

Dernière modification par maxsou1948 (Le 21/09/2010, à 16:21)

Hors ligne

#6 Le 21/09/2010, à 16:31

maxsou1948

Re : Pas de ToolBar avec Python

Salut HP,

Est-ce que pyGTK est installé par défault?

Je vais étudier ca

J'avais vu aussi Tkinter,

Je me posais la quention sur lequel est le meilleur entre Wx et Tkinter,
je vais voir aussi pyGTK

Merci bcp

Hors ligne

#7 Le 21/09/2010, à 16:33

barbafunk

Re : Pas de ToolBar avec Python

Tu as besoin d'apprendre les chemins sous unix.

Une piste : http://casteyde.christian.free.fr/syste … x3198.html

Hors ligne

#8 Le 21/09/2010, à 16:40

HP

Re : Pas de ToolBar avec Python

maxsou1948 a écrit :

que veut dire les deux points avant le slash?

('../icons/exit.png')

Qu'il vaudrait mieux que tu utilises des chemins absolus… tout en sachant comment tu les as construits, parce que sinon, tu vas pas mal ramer !
Par exemple : http://docs.python.org/library/sys.html#sys.path
Ça devrait t'assurer une certaine robustesse quant au déploiement futur de ton application doublée d'une certaine facilité…


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#9 Le 22/09/2010, à 01:48

maxsou1948

Re : Pas de ToolBar avec Python

Salut,

J'ai essayer d'installer gtkbuilder

denis@denis-desktop:~$ sudo apt-get install glade-gnome-3
[sudo] password for denis:
E: Impossible de verrouiller /var/lib/dpkg/lock - open (11: Ressource temporairement non disponible)
E: Impossible de verrouiller le répertoire d'administration (/var/lib/dpkg/). Il est possible qu'un autre processus l'utilise.

Aussi dans logitheque ubuntu, il est la mais il n'y a pas "Installer"

Apres une 2iem tentative,

denis@denis-desktop:~$ sudo apt-get install glade-gnome-3
[sudo] password for denis:
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Aucune version du paquet glade-gnome-3 n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source
Cependant les paquets suivants le remplacent :
  glade-gnome
E: Aucun paquet ne correspond au paquet glade-gnome-3

Je ne comprends pas ce qui se passe

merci bcp de m'aider

Dernière modification par maxsou1948 (Le 22/09/2010, à 02:15)

Hors ligne

#10 Le 22/09/2010, à 12:08

HP

Re : Pas de ToolBar avec Python

maxsou1948 a écrit :

J'ai essayer d'installer gtkbuilder

Aucun paquet ne correspond au paquet glade-gnome-3

Pourquoi vouloir installer glade ?
Tu peux très bien écrire tes interfaces en "pur" python… sans aucun RAD, c'est certes plus long mais au moins tu sais ce que tu fais… pour le reste, il va falloir que tu comprennes comment fonctionne apt-get et/ou synaptic, ce n'est pas vraiment l'objet de ce topic.


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#11 Le 22/09/2010, à 14:37

maxsou1948

Re : Pas de ToolBar avec Python

Bonjour HP,

Bon, je vais essayer GTK a la place WX.

Avant de mettre en résolu, pourrais-tu me dire pourquoi tu préfère Gtk au autres comme Wx ou Tkinter?

Merci

Hors ligne

#12 Le 22/09/2010, à 15:26

HP

Re : Pas de ToolBar avec Python

maxsou1948 a écrit :

Avant de mettre en résolu, pourrais-tu me dire pourquoi tu préfère Gtk au autres comme Wx ou Tkinter?

Je préfère pyGTK à Tkinter, parce que Tkinter est ancien et que son aspect est horrible, on croirait être face à une bonne vieille interface de Windows 95/98… donc quitte à se donner un peu de mal autant que le rendu soit intégré au système… pourquoi je préfère pyGTK à wxWidgets ? Parce que la documentation, en anglais, de pyGTK est exhaustive et que je la trouve bien réalisée ; pour peu que l'on se soit familiarisé avec elle. Et, parce que je trouve que l'on obtient un meilleur résultat plus simplement avec pyGTK que wxWidgets. Le choix de wxWidgets ne justifie, à mon sens, que si l'on cherche une compatibilité avec Mac OS X pour lequel il est bien plus simple d'installer wxWidgets que pyGTK : FAQ Entry 1.19. Puis bon, à mon sens, comme dit précédemment, ce n'est pas une préférence mais de la pure « logique », si on veut faire du GNOME et bien on choisit GTK+… si on cherche la compatibilité maximale avec d'autres OS, là le choix peut-être plus cornélien.

Dernière modification par HP (Le 22/09/2010, à 15:40)


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#13 Le 24/09/2010, à 15:21

bipede

Re : Pas de ToolBar avec Python

HP a écrit :

Et, parce que je trouve que l'on obtient un meilleur résultat plus simplement avec pyGTK que wxWidgets. Le choix de wxWidgets ne justifie, à mon sens, que si l'on cherche une compatibilité avec Mac OS X pour lequel il est bien plus simple d'installer wxWidgets que pyGTK

Comme quoi tout est une question de perception personnelle...

Parce que moi je préfère wxPython (wxWidgets étant la version C++ du framework) alors que je ne cherche aucune compatibilité avec Mac mais que ce que je code est pleinement compatible avec GNOME, MS WINDOWS et KDE.

La documentation de wxPython est au moins aussi accessible que celle de pyGTK...

Je pense que pyGTK, pyQT et wxPython se valent, mais si je préfère wxPython c'est parce la manipulation des widgets, le traitement des évènements et les mécanismes de placement sont à la fois puissants et simples à mettre en oeuvre, et que son modèle objet est bien construit.


Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Kubuntu 21.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 20.10 avec /home séparé.

Mon site: Les contributions du bipède

Hors ligne