窗口控件拉伸,代码示例:
文本框随着窗口拉伸增大缩小,按钮控件未设置拉伸
import tkinter as tk
from tkinter import ttk
class a():
def __init__(self,win):
self.win =win
def b(self):
Frame1 = tk.Frame(self.win, bg="#d1c7b7")
#Frame1.grid(row=0, column=0, sticky=tk.NSEW)
Frame1.place(relx=0.01, rely=0.3, relwidth=0.99, relheight=0.5) #幕布位置
Frame1.rowconfigure(2, weight=1) #权重分布,从2行开始拉伸,设置权重之后sticky才有效
#Frame1.rowconfigure(9, weight=0)
# Frame1.rowconfigure(0, weight=1)
Frame1.columnconfigure(0, weight=1) #权重分布,从0行开始拉伸
#Frame1.columnconfigure(9, weight=0)
bottom = tk.Label(Frame1, text='bottom', bg='#f173ac')
bottom.grid(row=1, column=0, columnspan=2)
t=tk.Text(Frame1,width=50,height=20, bd=3,bg='#999d9c')
t.grid(row=2,sticky=tk.NSEW)
bar = ttk.Scrollbar(Frame1, orient=tk.VERTICAL) #滚动条
bar.config(command=t.yview) # 指定回调函数是Scrollbar的yview
t.config(yscrollcommand=bar.set) # 指定与滚动条的回调函数
bar.grid(row=2, column=370, sticky='N' + 'S') # N,S,W,E 表示 上,下,左,右
def c(self):
win = tk.Tk()
win.wm_minsize(400, 220)
win.rowconfigure(0, weight=1) #权重配置
win.columnconfigure(0, weight=1) #权重配置
a(None).b()
win.mainloop()
a(None).c()
效果如下:
未进行拉伸时:
拉伸窗口后: