2 pièce(s) jointe(s)
[wxPython] Barre d'outils
Bonjour,
Je me suis fait un petit test de création d'une barre d'outils (contient seulement des boutons et un menu, aucun traitement n'ai effectué lors d'actions de l'utilisateur) mais je tombe sur 2 problèmes d'affichages:- Une barre grise se dessine au-dessus de la ToolBar que je crée.
Je pense que c'est à cause des BoxSizer que je crée puisque dans ma version précédente où elles n'y étaient pas il n'y avait pas cette bande grise (superbe déduction !!!!!!!)- Les textures des boutons ne s'affichent pas correctement.
Je prend pour les textures des images .png 32x32 et il n'apparait que le coin supérieur gauche sur le bouton. Dans un tutoriel, il est utilisé des images 24x24 mais sa ne marche pas non plus.
(Je me demander si la taille du rendu des boutons pouvait être modifié pour les agrandir un peu ???)
Code:
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 48 49 50 51
| import wx
ID_TEXTURE_0 = 100
...
ID_TEXTURE_5 = 105
class Fenetre(wx.Frame):
def __init__(self, titre):
wx.Frame.__init__(self, parent = None, id = 1, title = titre, size = (155,70), style = wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN | wx.FRAME_TOOL_WINDOW)
# Création du menu
menuA = wx.Menu(style = wx.MENU_TEAROFF)
menuA.Append(...)
...
menuB = wx.Menu(style = wx.MENU_TEAROFF)
menuB.Append(...)
...
menuBarre = wx.MenuBar()
menuBarre.Append(menuA, "&Fichier")
menuBarre.Append(menuB, "&Image")
self.SetMenuBar(menuBarre)
# Création d'un panneau
conteneur = wx.Panel(self, 1)
# Création de la barre d'outils
outils = wx.ToolBar(conteneur, 1)
outils.AddSimpleTool(ID_TEXTURE_0, wx.Bitmap("texture_0.png", wx.BITMAP_TYPE_PNG), shortHelpString = "...", longHelpString = "...")
...
outils.AddSimpleTool(ID_TEXTURE_5, wx.Bitmap("texture_5.png", wx.BITMAP_TYPE_PNG), shortHelpString = "...", longHelpString = "...")
outils.Realize()
self.SetToolBar(outils)
# Création des sizers
panelSizer = wx.BoxSizer(wx.HORIZONTAL)
panelSizer.Add(outils, 1, wx.LEFT )
conteneur.SetSizer(panelSizer)
frameSizer = wx.BoxSizer(wx.VERTICAL)
frameSizer.Add(conteneur, 1, wx.TOP)
self.SetSizer(frameSizer)
frameSizer.SetSizeHints(self)
class BarreDOutils(wx.App):
def OnInit(self):
fen = Fenetre("Barre d'outils")
fen.Show(True)
self.SetTopWindow(fen)
return True
app = BarreDOutils()
app.MainLoop() |
Je voudrais savoir quels sont les erreurs que j'ai pu commettre (sachant que j'ai commencé wxPython ce matin, j'ai encore bcp à apprendre)
Merci
EDIT : J'ai mis en pièces jointes les images de la barre d'outil à la création et après redimensionnement.