Python/Tkinter前端框架

Python/Tkinter前端框架,python,windows,tkinter,responsive-design,desktop-application,Python,Windows,Tkinter,Responsive Design,Desktop Application,我正在做我的第一个项目,我正在使用python/tkinter。我已经想出了这个设计(如上),但我不能使它响应 我希望底部保持不变,但我希望通过底部延伸顶部 from tkinter import * root = Tk() topFrame = Frame(root) topFrame.pack(side=TOP, fill=BOTH) scrollbar = Scrollbar(topFrame) scrollbar.pack(side=RIGHT, fill=Y) listbox

我正在做我的第一个项目,我正在使用python/tkinter。我已经想出了这个设计(如上),但我不能使它响应

我希望底部保持不变,但我希望通过底部延伸顶部

from tkinter import *

root = Tk()

topFrame = Frame(root)
topFrame.pack(side=TOP, fill=BOTH)

scrollbar = Scrollbar(topFrame)
scrollbar.pack(side=RIGHT, fill=Y)

listbox = Listbox(topFrame)
listbox.pack(fill=BOTH)

for i in range(100):
    listbox.insert(END, i)
#附加列表和滚动条

listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)

#bottom frame

bottomFrame = Frame(root)
bottomFrame.pack(side=BOTTOM, fill=X)
#底架

b_leftFrame = Frame(bottomFrame)
b_leftFrame.pack(side=LEFT, fill=X)
#定义标签

label1 = Label(b_leftFrame, text="Title")
label1.grid(row=0, column=0, sticky=E)

label2 = Label(b_leftFrame, text="Author")
label2.grid(row=0, column=2, sticky=E)

label3 = Label(b_leftFrame, text="Publisher")
label3.grid(row=0, column=4, sticky=E)

label4 = Label(b_leftFrame, text="Year")
label4.grid(row=0, column=6, sticky=E)

label5 = Label(b_leftFrame, text="Translator")
label5.grid(row=0, column=8, sticky=E)
#定义标签

title_text =StringVar()
entry1 = Entry(b_leftFrame, textvariable=title_text)
entry1.grid(row=0, column=1)

author_text =StringVar()
entry2 = Entry(b_leftFrame, textvariable=author_text)
entry2.grid(row=0, column=3)

publisher_text =StringVar()
entry3 = Entry(b_leftFrame, textvariable=publisher_text)
entry3.grid(row=0, column=5)

year_text =StringVar()
entry4 = Entry(b_leftFrame, textvariable=year_text)
entry4.grid(row=0, column=7)

translator_text =StringVar()
entry4 = Entry(b_leftFrame, textvariable=translator_text)
entry4.grid(row=0, column=9)
#右下角

b_rightFrame = Frame(bottomFrame)
b_rightFrame.pack(side=RIGHT)
#钮扣


这里的问题是,包含Listbox的topFrame小部件没有占用所有可用空间

尝试替换您的:

topFrame.pack(fill=BOTH)
与:

这将使顶部框架在最大化窗口后展开

此外,为了使列表框也能展开,请替换

listbox.pack(fill=BOTH)
与:


什么是
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。只有您建议的更改,我如何才能将b_leftFrame居中,它在全屏显示时会保持在左侧。如何将其居中?您希望它的大小扩大还是居中并保持相同的宽度?在保持相同宽度的同时居中添加一个
b\u leftFrame.grid\u column配置(column,weight=1)
在每个标签和条目之后。grid,通过将列替换为真实列
topFrame.pack(fill=BOTH, expand=YES)
listbox.pack(fill=BOTH)
listbox.pack(fill=BOTH, expand=YES)