在Screenborder上定位tkinter窗口

时间:2011-07-08 15:45:09

标签: python tkinter tk

我想在屏幕的右边框放置一个窗口。这是当前的代码,我认为常量应该是可理解的。

root = Tk()
pos_x = root.winfo_screenwidth() - WINDOW_WIDTH
geometry = '{width}x{height}+{pos_x}+{pos_y}'.format(
    height=WINDOW_HEIGHT, width=WINDOW_WIDTH, pos_y=HEIGHT_OFFSET, pos_x=pos_x)
root.wm_geometry(geometry)

问题是框架的宽度似乎是没有边框的可用空间,这意味着当我运行上面的代码时,窗口不是完全可见的。我试过root ['border']但是返回0并且google对这个问题非常安静。

那么有没有办法获得一个完整的框架大小 - 或者这是用tkinter做错的方法吗?

1 个答案:

答案 0 :(得分:1)

问题是窗口管理器绘制边框并没有告诉你它有多大。 您可以通过设置overrideredirect flag来完全控制窗口,但这意味着您不会获得窗口管理器绘制的边框。

但是Tcl'ers维基上的this discussion可能有帮助,因为它讨论了查找完整窗口大小的方法。