简体   繁体   中英

tkinter window get x, y, geometry/coordinates without top of window

I am using tk in python (3), though I'd assume that this applies to any language. I am looking to get the current x, y coordinates of a tk window outside of the title bar:

import tkinter  
root = tkinter.Tk()

however, using root.winfo_y() gives me the coordinates including the depth of the titlebar. For a window that is in the upper left corner of my screen:

root.winfo_x(), root.winfo_y()          # returns (0, 22)

In other words, running:

root.geometry('+{}+{}'.format(root.winfo_x(), root.winfo_y()))

will move down the window by 22 pixels (the height of the title bar) every time I call it. How can I get the actual coordinates of the entire window?

In Tkinter, most configuration functions when used without new value arguments returns the current value(s). Thus root.geometry() (plus a few string parsing) can serve your goal.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM