改进代码,实现控件随窗口变化自适应,且不同控件间相对位置不变,代码如下:lable1 = Label(frame, text='请选择NC发货清单总表(发票折扣额)报表:') text1 = Entry(frame, bg='white', width=65) title1 = 'nc_path' button1 = Button(frame, text='浏览', width=8, command=lambda: selectExcelfile(title1, text1)) lable2 = Label(frame, text='请选择客户信息表:') text2 = Entry(frame, bg='white', width=65) title2 = 'custom_path' button2 = Button(frame, text='浏览', width=8, command=lambda: selectExcelfile(title2, text2)) lable1.place(x=40, y=30) text1.place(x=40, y=60) button1.place(x=520, y=55) lable2.place(x=40, y=90) text2.place(x=40, y=120) button2.place(x=520, y=115)
时间: 2023-08-10 15:04:34 浏览: 43
你可以使用 pack 或 grid 方法来实现控件随窗口变化自适应,同时保持不同控件间的相对位置不变。下面是使用 pack 方法的代码示例:
```
lable1 = Label(frame, text='请选择NC发货清单总表(发票折扣额)报表:')
text1 = Entry(frame, bg='white', width=65)
title1 = 'nc_path'
button1 = Button(frame, text='浏览', width=8, command=lambda: selectExcelfile(title1, text1))
lable2 = Label(frame, text='请选择客户信息表:')
text2 = Entry(frame, bg='white', width=65)
title2 = 'custom_path'
button2 = Button(frame, text='浏览', width=8, command=lambda: selectExcelfile(title2, text2))
# 使用 pack 方法自适应布局
lable1.pack(side='top', padx=20, pady=10, anchor='w')
text1.pack(side='top', padx=20, pady=5, fill='x', expand=True)
button1.pack(side='right', padx=20, pady=5)
lable2.pack(side='top', padx=20, pady=10, anchor='w')
text2.pack(side='top', padx=20, pady=5, fill='x', expand=True)
button2.pack(side='right', padx=20, pady=5)
```
在上面的代码中,我们使用了 pack 方法,并指定了不同控件的 side、padx、pady、anchor、fill 和 expand 参数来实现自适应布局和相对位置不变的效果。
其中,side 参数表示控件的位置,可以是 'top'、'bottom'、'left' 或 'right'。padx 和 pady 表示控件与窗口或其他控件之间的水平和垂直间隔。anchor 表示控件在所在区域中的对齐方式,可以是 'n'、's'、'w'、'e'、'nw'、'ne'、'sw' 或 'se'。fill 和 expand 表示控件在所在区域中自适应大小的方式,可以是 'x'、'y' 或 'both'。