tear-off buttons for Tkinter Text objects?

Fredrik Lundh fredrik at pythonware.com
Fri Apr 16 06:28:48 EDT 2004


Deacon Sweeney wrote:

> Hi. I've embedded some buttons in a Text object, and I would like these
> buttons to perform a 'tear-off' of that line when clicked. That is, when
the
> button is clicked, I would like a new Toplevel to appear with a new Text
> object which contains the text. Creating a 'pop-off' button, where the
> Toplevel appears at some predetermined (or calculatable) point would be
> easy, I'd just create the Toplevel, position it, and pass the info to it.
> The difference would be that the 'tear-off' button would automatically
> 'grab' the new Toplevel so that it could be easily repositioned in the
same
> motion of the mouse.

this approach should work:

- add custom event handlers for button press, mouse motion, and button
  release.

- in the button press handler, register the current mouse coordinates
(relative to
  the root window), create the toplevel, and position it in a suitable
location.  also
  grab the mouse pointer (to make sure you get all mouse events)
(autograbbing
  may take care of that, but a little explicitness never hurts)

- in the mouse motion handler, calculate the difference between the current
  mouse position and the last registered position, and move the toplevel
accordingly

- in the mouse release handler, release the grab (if necessary)

</F>







More information about the Python-list mailing list