我想要获得Frame的大小 – 但没有运气.
在下面的代码中 – 我得到了两个答案,“0”(标有***的行)
from tkinter import * from tkinter import ttk root = Tk() w = '400' h = '100' root.geometry('{}x{}'.format(w,h)) root.configure(bg='lightgreen') txt = StringVar() txt.set("Hello") testframe = ttk.Frame(root) testframe.grid(row=0,column=1 ) label1 = ttk.Label(testframe,textvariable=txt) label1.grid(row=0,column=0) print(testframe["width"],testframe.cget("width")) ***This line root.mainloop()
解决方法
需要首先调用update方法,以便呈现窗口小部件.
如果不是,则其宽度等于零.
这在 this answer中解释.
如果不是,则其宽度等于零.
这在 this answer中解释.
现在,testframe [‘width’]的问题在于它只是窗口小部件实际宽度的暗示,如this answer所述.
from tkinter import * from tkinter import ttk root = Tk() w = '400' h = '100' root.geometry('{}x{}'.format(w,column=0) # Modified lines testframe.update() print(testframe.winfo_width()) root.mainloop()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。