mega_octet2 | Bonjour à tous, et d'avance merci pour votre baguette magique...
Je découvre wxPython depuis et j'avoue avoir beaucoup de mal à l'utiliser.
Je voudrais mettre une image dans une RichTextCtrl
et surtout pouvoir récuper cette image (pour pouvoir la retravailler par exemple)soit parce que l'utilisateur l'a sélectionnée soit parce qu'il a cliqué dessus mais je ne trouve aucune solution.
Voici donc une ébauche et d'avance merci à qui pourra m'aider...
Code :
- # !/usr/bin/python
- # -*- coding:Latin-1 -*-
- import wx
- import wx.richtext as rt
-
- class Fentre_prin(wx.Frame):
- def __init__(self, parent, title):
- wx.Frame.__init__(self, parent, -1, title,size=(800,600))
- ma_scroll_window = wx.ScrolledWindow(self)
- ma_scroll_window.SetBackgroundColour(wx.WHITE)
- ma_scroll_window.SetScrollbars(20, 20, 55, 40)
- # Création des différents widgets :
- ### bouton :
- b1 = wx.Button(ma_scroll_window, -1, u"Quitter" )
- self.Bind(wx.EVT_BUTTON, self.quitter, b1)
- ### richtext :
- self.ma_RichText= rt.RichTextCtrl(ma_scroll_window, -1, "",size=(700,400))
- self.ma_RichText.WriteText('Bonjour ')
- image1=wx.Image("chien.jpg" )
- self.ma_RichText.WriteImage(image1)
- wx.EVT_LEFT_DOWN(self.ma_RichText,self.clik_sur_image)
- self.ma_RichText.Layout()
- # Création du sizer et positionnement des wigets :
- sizer = wx.BoxSizer(wx.VERTICAL)
- sizer.Add(b1, 0, wx.ALL, 5)
- sizer.Add(self.ma_RichText, 0, wx.ALL, 5)
- # Le sizer est lié au conteneur :
- ma_scroll_window.SetSizer(sizer)
- ma_scroll_window.Layout()
-
- def quitter(self, evt):
- self.Close()
- def clik_sur_image(self, evt):
- self.ma_RichText.WriteText("Tu as sélectionné l'image " )
-
- class MyApp(wx.App):
- def OnInit(self):
- frame = Fentre_prin(None, u"Début" )
- self.SetTopWindow(frame)
- frame.Show(True)
- return True
- try:
- app = MyApp()
- except:
- app = MyApp(redirect=True)
- app.MainLoop()
|
Remarque :
Le Bind (sur ligne rouge) n'est pas correct puisqu'il s'apllique sur la RichTextCtrl complète et non pas uniquement sur l'image mais là non plus je ne sais comment faire... |