2017-01-30 23 views
0

Im使用Toplevel()作爲彈出窗口,我希望彈出窗口顯示在鼠標右側出現時。我發現如何做到這一點,但只能通過指定窗口的幾何形狀。如何在不指定大小的情況下控制窗口的位置。我希望窗口的大小能夠適應任何要顯示的數據。Tkinter Toplevel()定位不帶靜態幾何

這是林使用的是現在:

helpwindow = Toplevel() 
helpwindow.overrideredirect(1) 
helpwindow.geometry("662x390+{0}+{1}".format(event.x_root - 1, event.y_root - 12)) 

我怎麼可以把只有格式設置窗口中的幾何?或者他們是更好的方法?

+0

'helpwindow.geometry(「+ {0} + {1}」.format(...))' - ie。 'helpwindow.geometry(「+ 200 + 200」)' – furas

回答

2

使用"+{}+{}"沒有大小

helpwindow.geometry("+{}+{}".format(event.x_root - 1, event.y_root - 12)) 

即。移動窗口:)

import tkinter as tk 

def move(): 
    global pos_x 

    helpwindow.geometry("+{}+200".format(pos_x)) 
    pos_x += 10 

    root.after(100, move) 

root = tk.Tk() 

pos_x = 0  
helpwindow = tk.Toplevel() 
move() 

root.mainloop() 
+0

我試過了,但我在{0}之前刪除了+,認爲它在打印('文本'+變量)中使用。知道這是簡單的事情。謝謝 – sidnical