SetDefaultStyle pour un TextCtrl wxPython3.0.1
Bonjour
J'ai déjà ouvert une discussion sur un sujet approchant et qui et résolue
TxtCtrl, saisie de chiffres et couleurs successives (post 8121174)
Depuis je suis passé de Wheezy7.8 à Jessie et la version ds wxPython est alors passée de 2.8 à 3.0.1. Et alors le problème est arrivé !
voici le code qui va bien avec Wheezy
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
|
#!/usr/bin/python
# coding: utf-8
#
# n: nombre de chiffres
# i: indice pour la liste des couleurs i%3 ; et limite la longueur de la saisie
#
import wx
nb = 3 # ne pas dépasser 7 !!, arbitraire ici.
i = 0
dys_color = [ 'GREEN','RED','BLUE']
def onCharEvent(event):
keycode = event.GetKeyCode()
if keycode in range(48,58):
#
i = text.GetLastPosition()
if i >= nb:
i = nb
text.SetInsertionPoint(nb)
else:
text.SetDefaultStyle(wx.TextAttr(dys_color[i%3]))
text.AppendText(chr(keycode))
app = wx.App(False)
frame = wx.Frame(None)
panel = wx.Panel(frame)
text = wx.TextCtrl(panel,-1, style= wx.TE_MULTILINE, size=(100,35))
font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT)
font.SetPointSize(20)
text.SetFont(font)
text.Bind(wx.EVT_CHAR, onCharEvent)
frame.Show()
app.MainLoop() |
Ce même code avec Jessie (Python 2.7 et wxPython3.0.1) me retourne cette erreur:
Citation:
Exception RuntimeError: 'maximum recursion depth exceeded' in ignored
Traceback (most recent call last):
File "Nombre_dys-color_03.py", line 28, in onCharEvent
text.SetDefaultStyle(wx.TextAttr(la_couleur[i]))
RuntimeError: maximum recursion depth exceeded
Là je ne vois pas le pourquoi de la récursion ???
Merci de vos éclairages.