我最近被介绍给了tkinter,我正在尝试编写一个计算器应用程序来熟悉它。输入的Entry
小部件,我称之为“显示”似乎是将Button
小部件推向右侧。我的问题与this question非常相似,但是所有答案都涉及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)
默认情况下,columnspan的值设置为1
其余的代码似乎没问题:)
您可以将columnspan
关键字参数添加到display的几何管理器中:
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()