我最近被介绍给tkinter,我正在尝试编写一个计算器应用程序来熟悉它。输入所在的Entry
小部件,我称之为"显示",似乎将Button
小部件推到右侧。我的问题与这个问题非常相似,但是那里的所有答案都涉及pack()
方法,而我只是尝试将grid()
方法用于我的布局。如何定位Button
小部件,使它们直接位于Entry
小部件下方,而不是被推到右侧?这是我的应用程序的当前代码:
import tkinter as tk
root = tk.Tk()
button = list()
numbers = ("789456123")
def create_number_buttons():
i = 0
for row in range(1, 4):
for column in range(1, 4):
button.append(tk.Button(root, text=numbers[i], padx=10, pady=10))
button[i].grid(row=row, column=column, padx=1, pady=1)
i += 1
display = tk.Entry(root, width=25)
display.grid(row=0, column=0)
create_number_buttons()
root.mainloop()
您只需添加"columnspan=4"作为参数即可显示如下所示的网格
display.grid(row=0, column=0, columnspan=4)
默认情况下,列跨度的值设置为 1
其余代码似乎还可以:)
您可以将columnspan
关键字参数添加到显示的几何管理器中:
import tkinter as tk
root = tk.Tk()
button = list()
numbers = ("789456123")
def create_number_buttons():
i = 0
for row in range(1, 4):
for column in range(1, 4):
button.append(tk.Button(root, text=numbers[i], padx=10, pady=10))
button[i].grid(row=row, column=column, padx=1, pady=1)
i += 1
display = tk.Entry(root)
display.grid(row=0, column=0, columnspan=4)
create_number_buttons()
root.mainloop()