Salut à toi,
Juste pour faire avancer le schmilblick, car j'ai le même problème que toi.
Pour capturer la font d'un texte j'utilise le code suivant
1 2
| attr = wx.TextAttr()
self.richText.GetStyle(pos, attr) # pos = position dans le texte def par boucle for |
Ensuite tu peux extraire la taille, la police, etc... avec le code suivant
1 2 3 4 5 6 7 8 9 10 11 12
| points = attr.GetFont().GetPointSize()
print "points = ",points
Family = attr.GetFont().GetFamily()
print "Family = ", Family
Style = attr.GetFont().GetStyle()
print "Style = ", Style
Weight = attr.GetFont().GetWeight()
print "Weight = ", Weight
Underlined = attr.GetFont().GetUnderlined()
print "Underlined = ", Underlined
flag = attr.GetFlags()
print "flag = ", flag |
Puis j'utilise ce code pour recopier la font
self.richText2.SetStyle(pos,pos+1,attr)
Et c'est la mon problème car il y a quelque différence entre l'original et le resultat obtenu :
- La taille de police retourné est tj 15 fois plus grande que l'original
- La family retourné est tj la même : wx.DEFAULT
- Lorsque le texte n'a pas de couleur de fond ( self.richText.SetDefaultStyle(wx.TextAttr("black",wx.NullColour)) ) la couleur retourné est tj noire



Si quelqu'un peux me dire comment tout récupérer correctement je suis preneur.
Jean-Michel
Partager