如何在Python中获取Tkinter Checkbutton的place属性x、y值?
Tkinter里,place()的布局参数不属于组件的常规属性(比如text、state这类),没法用cget()直接获取。要拿到place设置的x、y值,得调用组件的place_info()方法——它会返回一个包含所有place布局参数的字典,从中提取x和y即可。
修正后的代码示例
from tkinter import * window=Tk() v1 = IntVar() arCombo = [] C1 = Checkbutton(window, state = "normal", text = "Ctrl", variable = v1) C1.place(x=275, y=65) arCombo.append(C1) # 获取text和state属性 print(arCombo[0].cget("text")) print(arCombo[0].cget("state")) # 获取place的x、y值 place_params = arCombo[0].place_info() # 返回值是字符串类型,需要数值的话可以转成int/float x_value = int(place_params['x']) y_value = int(place_params['y']) print(f"place x: {x_value}, place y: {y_value}") window.title('Title') window.geometry("800x600+10+10") window.mainloop()
补充说明
place_info()返回的字典里包含x、y、width、height等所有通过place()设置的参数,所有值都是字符串类型,按需转成数值即可。- 如果组件没通过
place()布局,place_info()会返回空字典或默认参数值。
内容的提问来源于stack exchange,提问作者hermitjimx
相关产品推荐
相关产品推荐

