2017-01-30 7 views
0

私はtkinterでウィンドウを作っていますが、ラベルが座標relx = 0.3とrely = 0.63にあるかどうかをチェックしたいと思います。私が使用できる機能はありますか? 私は既にnametowidget関数を使用しようとしましたが、そこには名前があるすべてのウィジェットを与えなければなりません。ウィンドウでウィジェットを座標で検索する

だから、私が取得しようとするウィジェットは、ウィンドウを移動していると、それは私が別の方法でそれを移動したいが、私は、私はあなたが使用することができます

答えて

0

を使用することができます任意の関数を知らない座標に到達した場合winfo_x/y相対座標を計算するためにラベル座標とwinfo_width/heightを取得してウィンドウの寸法を取得します。私は小さな相対的な座標を得るためにウィンドウのサイズを変更することを目標にしています:

import tkinter as tk 

def check_label_relpos(): 
    relx = l.winfo_x()/parent.winfo_width() 
    rely = l.winfo_y()/parent.winfo_height() 

    if (abs(relx - 0.3) < 0.02) and (abs(rely - 0.63) < 0.02): 
     print("Ok") 
    else: 
     print(relx, rely, "Try again") 

parent = tk.Tk() 

l = tk.Label(parent, text="Label text", bg="red") 
l.place(x=50, y=160) 

tk.Button(parent, text="Check label relpos", command=check_label_relpos).place(relx=0.5, rely=1, anchor="s") 

parent.mainloop() 
関連する問題