在 TCL TK 中,我有一个巨大的 GUI,我正在尝试探索。使用进行探索的 tcl 程序,我注意到 winfo 和 cget 为小部件的宽度参数提供了不同的信息。这怎么可能 ?哪个是小部件的真实宽度?
额外问题:有时我有一些没有宽度参数的框架小部件:我在尝试配置它或尝试读取它(cget)时遇到错误。怎么可能其他一些框架没有这个问题。
例如,这里的宽度是不同的:
-children of .main.frame are :
-widget_path = .main.frame.note
-class (winfo) = NoteBook
-name (winfo) = note
-width (winfo) = 1068
-height (winfo) = 685
-manager (winfo) = pack
-width_cget = 2000
-using configure to configure width at 2000 of .main.frame.note :
-width_cget = 2000
-height (winfo) = 685
这里我还有一些带有宽度参数的框架:
##########################
-children of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.l are :
-end of children of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.l
-widget_path = .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f
-class (winfo) = Frame
-name (winfo) = f
-width (winfo) = 1
-height (winfo) = 1
-manager (winfo) = pack
-width_cget = 2000
-using configure to configure width at 2000 of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f :
-width_cget = 2000
-height (winfo) = 1
还有另一个没有的框架:
##########################
-children of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f are :
-widget_path = .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f.swf
-class (winfo) = Frame
-name (winfo) = swf
-width (winfo) = 1
-height (winfo) = 1
-manager (winfo) = pack
-@E: impossible to read with cget the width of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f.swf: unknown option "-width"
-using configure to configure width at 2000 of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f.swf :
-@E: impossible to configure widthet 2000 for .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f.swf: unknown option "-width"
-@E: impossible to read with cget the width of .main.frame.note.fedac32.pw.f0.frame.pwhoutil.f1.frame.frame_fichiers.f.swf: unknown option "-width"
-height (winfo) = 1
怎么可能?
我有部分答案:
winfo width 表示窗口的实际大小,其中 cget 提供配置的值。 我仍然不知道为什么像框架这样的两个框架类可以有宽度参数或没有宽度参数。