|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
[Il semblerait que le problème décrit ci-dessous soit un bug dans la librairie Tk]
Bonjour, Voici quelques heures que je passe sur ces problèmes: rien n'y fait. Dans le code qui suit: 2/ la -vcmd n'empêche pas la valeur de la spinbox de changer; 3/ -invcmd n'est jamais appelé; Code :
Une idée? Merci de votre aide! |
||
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
Bonjour,
C'est un comportement normal bien expliqué dans la documentation du module Tk::Spinbox Citation:
__________________
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
Merci, mais je me suis certainement mal exprimé. En l'occurrence, j'aimerais:
- que la valeur de la spinbox ne change pas si la nouvelle valeur n'est pas validée; - qu'invcmd soit évalué à ce moment. Et ça ne fonctionne pas... Si je laisse "return 1" dans tous les cas, comment montrer que la valeur n'est pas acceptable? Comment déclencher un callback dans ce cas? |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
euh, je comprends pas ce que vous voulez.
Il me faudrait un exemple !
__________________
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
Voir le code du post original: je veux que la valeur 5 soit impossible dans la spinbox et qu'essayer de la fixer déclenche l'-invcmd.
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
En gros, vous souhaitez que le 5 déclenche ceci : print STDERR "oops" ?
__________________
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
Oui, c'est bien cela.
Mais j'aimerais aussi que cette valeur n'apparaisse jamais dans la Spinbox. |
|
|
00
|
|
|
#8 | |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
Citation:
__________________
|
|
|
00
|
|
|
#9 | ||
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
Moi, je ferais ça
Code :
__________________
|
||
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
Ok, merci, mais je souhaitais tirer parti de
Citation:
Cependant, cela ne résout pas l'autre partie du problème (à savoir que -invcmd n'est jamais évalué). |
|
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
J'ai l'impression que -invcmd bogue. Il n'a pas l'air de fonctionner.
__________________
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
Oui, on dirait bien.
En outre, même en changeant dynamiquement -values, je ne peux pas faire en sorte qu'une valeur soit interdite. Je vais essayer de tout mettre dans "-command", mais les arguments reçus par le callback sont vraiment peu satisfaisants. |
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 817 ![]() |
C'est à dire ?
Si tu ne veux pas mettre 5, ne le met pas tout simplement.
__________________
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
Le code est simplifié ici: les valeurs interdites changent en fonction des manipulations de l'utilisateur.
J'ai essayé de changer -values durant le processus de validation, mais sans succès. |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 8 ![]() |
J'ai contourné le problème en mettant tout le processus de validation dans "-cmd".
C'est moyennement satisfaisant, mais ça marche. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com