2011-07-08 27 views
1

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

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

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

但也许在Tcl'ers维基上的this discussion有帮助,因为它讨论了如何找到完整的窗口大小。

+0

谢谢,会尝试一些东西 - 但现在我知道至少有一件事情,即使使用原始Win32也能做到这一点......在一些讨论中肯定会有用;) – Voo