26 lines
765 B
Python
26 lines
765 B
Python
|
import tkinter
|
||
|
|
||
|
def get_tk_root():
|
||
|
try:
|
||
|
root = tkinter._default_root
|
||
|
except AttributeError:
|
||
|
# it is possible to disable default root in Tkinter, although
|
||
|
# I haven't seen people doing it (but apparently someone did it
|
||
|
# here).
|
||
|
root = None
|
||
|
|
||
|
if root is None:
|
||
|
# create a new master only if there isn't one already
|
||
|
root = tkinter.Tk()
|
||
|
|
||
|
return root
|
||
|
|
||
|
|
||
|
def simulate_mouse_click(widget, x, y):
|
||
|
"""Generate proper events to click at the x, y position (tries to act
|
||
|
like an X server)."""
|
||
|
widget.event_generate('<Enter>', x=0, y=0)
|
||
|
widget.event_generate('<Motion>', x=x, y=y)
|
||
|
widget.event_generate('<ButtonPress-1>', x=x, y=y)
|
||
|
widget.event_generate('<ButtonRelease-1>', x=x, y=y)
|