我创建了一个详细的GUI,它使用.place方法将所有小部件组织到正确的位置。这一切都是一种享受,看起来很好。我想在GUI中添加'ttk.separator',但它只显示一个像素。经过几个小时的搜索,我得到的唯一答案就是你不能在.place方法中使用这个分隔符,你需要'sticky'和'.grid()'方法。我知道你不能混合.grid和.place,所以我被卡住了。
我想继续使用.place方法(我喜欢它的精度),但是如果我这样做,那么分隔符就不在窗口了。
任何帮助都将不胜感激。
答案 0 :(得分:0)
place
几何管理器可以选择以相对或绝对值设置窗口小部件的宽度和高度。
例如,要使分隔符从左边缘开始并继续向右边缘,只需使用relwidth=1.0
即可。这表示使小部件100%的父宽度。
从官方tk文档(高度选项相同,除了它们明显影响高度而不是宽度):
-relwidth size
大小指定窗口的宽度。在这种情况下,宽度被指定为相对于主设备宽度的浮点数:0.5表示窗口的宽度是主设备的一半,1.0表示窗口的宽度与主设备的宽度相同,依此类推。如果为从站指定-width和-relwidth,则将它们的值相加。例如,-relwidth 1.0 -width 5使从站比主站宽5个像素。
-width 尺寸
大小以屏幕为单位指定窗口的宽度(即Tk_GetPixels接受的任何形式)。宽度将是窗口的外部宽度,包括其边界(如果有的话)。如果size为空字符串,或者未指定-width或-relwidth选项,则将使用窗口内部请求的宽度。