2011-07-08 42 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