J'utilise actuellement wx.CustomTree, pour afficher une série de paramètres de configuration. Je les remplis généralement avec wx.TextCtrl/wx.Combobox, pour permettre à l'utilisateur d'éditer/entrer des choses. Voici mon code:.wx Python ne dessine pas correctement les éléments customtree
class ConfigTree(CT.CustomTreeCtrl):
"""
Holds all non gui drawing panel stuff
"""
def __init__(self, parent):
CT.CustomTreeCtrl.__init__(self, parent,
id = common.ID_CONTROL_SETTINGS,
style = wx.TR_DEFAULT_STYLE | wx.TR_HAS_BUTTONS
| wx.TR_HAS_VARIABLE_ROW_HEIGHT | wx.TR_SINGLE)
#self.HideWindows()
#self.RefreshSubtree(self.root)
self.population_size_ctrl = None
self.SetSizeHints(350, common.FRAME_SIZE[1])
self.root = self.AddRoot("Configuration Settings")
child = self.AppendItem(self.root, "Foo", wnd=wx.TextCtrl(self, wx.ID_ANY, "Lots Of Muffins"))
Le problème est, tous les nœuds enfants, les données de ces noeuds ne sont pas remplis Quand j'élargissons fondamentalement les paramètres de configuration nœud d'arborescence. Je vois le noeud "Foo", mais la zone de texte est vide. C'est la même chose pour les deux nœuds de texte, jusqu'à ce que je clique réellement sur le nœud enfant. J'ai regardé essayé chaque forme de mise à jour/etc. Est-ce que quelqu'un a des idées?
Pour: Anurag Uniyal
Tout d'abord désolé pour ne pas donner le reste du code. J'ai contourné ce problème en redimensionnant simplement la fenêtre chaque fois que je démo l'application. J'ai donc essayé le code sur MacBook Pro sous Mac OS X, avec les derniers wx et python 2.6. J'ai toujours le même problème, cependant j'ai remarqué que redimensionner la fenêtre, ou même toucher la barre de défilement résout le problème.
J'ai aussi remarqué cependant, il n'y a absolument aucun problème en cours d'exécution sous Windows Vista/Windows 7.
donc essayer ceci sur un autre macbook exécutant une version plus ancienne de WX + python. Résultats dans le même problème :(
Y at-il de toute façon de forcer le panneau à redessiner l'auto? Que je suis assez sûr quand je passe redimensionnez la fenêtre.
Si vous n'avez des idées je » Je l'ai démonté et fait un exemple de démo, je suis à la maison et ne serai pas au travail avant demain matin
il est toujours préférable si vous pouviez donner un code autonome que nous pouvons exécuter, maintenant pour le faire fonctionner je dois écrire un code plaque de chaudière + retirer votre utilisation du module commun –