<p>您可以将<code>rowspan = 3</code>添加到<code>Listbox</code><code>box</code>。因此<code>Listbox</code><code>box</code>将花费与三个按钮(Compute、Clear、Exit)一样多的开销。
<a href="https://i.stack.imgur.com/wDr80.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wDr80.jpg" alt="Listbox takes equal space as three buttons"/></a></p>
<p>完整代码:</p>
<pre><code>import tkinter
from tkinter import *
window = tkinter.Tk()
window.geometry('600x400')
yearLabel = Label(window, text="Year")
yearLabel.grid(row=0, column=0)
amountLabel = Label(window, text="Amount")
amountLabel.grid(row=1, column=0)
rateLabel = Label(window, text="Rate")
rateLabel.grid(row=2, column=0)
monthlyPaymentLabel = Label(window, text="Monthly Payment")
monthlyPaymentLabel.grid(row=0, column=3)
totalInterestLabel = Label(window, text="Total Interest Paid")
totalInterestLabel.grid(row=1, column=3)
yearText = StringVar()
yt = Entry(window, textvariable=yearText)
yt.grid(row=0, column=1)
amountText = StringVar()
at = Entry(window, textvariable=yearText)
at.grid(row=1, column=1)
rateText = StringVar()
rt = Entry(window, textvariable=rateText)
rt.grid(row=2, column=1)
box = Listbox(window, height=10, width=50)
box.grid(row=3, column=0, rowspan=3, columnspan=3)
scroll = Scrollbar(window)
scroll.grid(row=2, column=2, rowspan=6)
box.configure(yscrollcommand=scroll.set)
scroll.configure(command=box.yview)
clearButton = Button(window, text="Clear", width=10)
clearButton.grid(row=3, column=3)
computeButton = Button(window, text="Compute", width=10)
computeButton.grid(row=4, column=3)
exitButton = Button(window, text="Exit", width=10)
exitButton.grid(row=5, column=3)
window.mainloop()
</code></pre>
<p>但是如果你想让按钮更靠近,并且<code>Listbox</code><code>box</code>比按钮占用更多的空间,那么就添加<code>rowspan = 12</code></p>
<p><a href="https://i.stack.imgur.com/XOZgr.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/XOZgr.jpg" alt="Buttons are close to each other and listbox takes more space"/></a></p>