J'ai une petite application de journalisation (écrite en wxPython) qui reçoit des données d'un peu de kit que nous développons, et je veux afficher le texte dans une fenêtre de défilement. En l'état, j'utilise un wx.TextCtrl pour l'affichage du texte, mais j'ai quelques problèmes avec le comportement de défilement. Fondamentalement, je voudrais que si la barre de défilement est au bas de la fenêtre (c'est-à-dire la fin des données entrantes), l'ajout de plus de données devrait faire défiler la vue vers l'avant. Si, toutefois, la vue a été légèrement défilée (c'est-à-dire que l'utilisateur regarde quelque chose d'intéressant comme un message d'erreur), l'application devrait simplement ajouter le texte à la fin sans plus défiler.Comment puis-je obtenir la position/plage de défilement à partir d'un contrôle wx.TextCtrl dans wxPython
J'ai deux problèmes au moment:
- Je ne peux pas trouver comment récupérer la position actuelle du défilement (appels à GetScrollPos() ne semblent pas travailler - ils reviennent seulement 0).
- Je n'arrive pas à trouver comment récupérer la plage actuelle de la barre de défilement (les appels à GetScrollRange() retournent simplement 1).
J'ai googlé un peu et il semble y avoir quelques indices qui suggèrent que GetScrollPos et GetScrollRange ne fonctionneront pas pour un wx.TextCtrl? Quelqu'un d'autre a-t-il de l'expérience dans ce domaine? Existe-t-il un moyen facile de résoudre le problème ou dois-je lancer mon propre fichier wx.TextCtrl?
Bon point - on dirait que j'ai involontairement appelé le cadre de la fenêtre au lieu du CTextCtrl imbriqué. Je suis toujours coincé en essayant d'arrêter le défilement quand il n'est pas au bas de la plage de défilement ... –