1 pièce(s) jointe(s)
deux spinnbutton qui se répondent en boucle
bonjour
je suis en train de faire un programme de recadrage d'image par lot et j'ai un problème concernant les changements de valeurs de spinbutton.
donc, j'ai deux spinbutton pour redimensionner l'image.
Code:
1 2 3 4 5 6
| resize_width_ajustement = gtk.Adjustment(width, 0, width, 1)
resize_height_ajustement = gtk.Adjustment(height, 0, height, 1)
resize_width = gtk.SpinButton(resize_width_ajustement)
resize_height = gtk.SpinButton(resize_height_ajustement)
resize_height.connect("value_changed", redimensionner, "height", resize_width)
resize_width.connect("value_changed", redimensionner, "width", resize_height)) |
je voudrais conserver le ratio de l'image, donc en modifiant le premier, le second va être modifié pour conserver le ratio:
Code:
1 2 3 4 5 6 7 8 9 10 11
| def redimensionner(entree, widget, secwidget):
global width_redim
global height_redim
if widget == "width":
width_redim = entree.get_value()
height_redim = width_redim / ratio
secwidget.set_value(int(height_redim))
elif widget == "height":
height_redim = entree.get_value()
width_redim = height_redim * ratio
secwidget.set_value(int(width_redim)) |
le soucis est que l'opération n'est pas très précise (au pixel près) et donc la modification du deuxième entraine une modification du premier qui entraine une modification du deuxième, et s'arrentent au bout de deux ou trois tours.
du coup la saisie est impossible.
je n'ai pas trouvé d'autres signaux qui permettent de contourner ce problème.
voila, j'ai mis le script en piece jointe.
d'ailleur si vous avez des remarques et conseil concernant celui ci, je suis prenneur vu que je débute en python.
merci