两个标签之间的额外空格问题 tkinter-python 3.x
Problems with extra spaces between two labels tkinter-python 3.x
我不知道为什么 'Date' 部分的标签之间有太多空格。我认为这是我有标签的框架大小的问题,但必须有一种方法来容纳更多卡住的东西。
我在有问题的代码部分留言了。
我认为我已经尝试了所有方法...这是我第一次使用 tkinter。预先感谢您的帮助
from tkinter import *
# ======================== Window
window = Tk()
window.title("School Management System")
window.geometry("1350x750+0+0")
# ===================== Frames
top_frame = Frame(window, width=1000,height=100, bd=15, relief='raise')
top_frame.pack(side=TOP)
frames_L = Frame(window, bd=5, width=100, relief='raise')
frames_L.pack(side=LEFT, fill=Y)
frames_R = Frame(window, bd=5, relief='raise')
frames_R.pack(side=RIGHT, fill=Y)
# ================= Labels =========================================
tittle = Label(top_frame, text="Lucille Rupp's School Management System",
font=('times new roman', 30, 'bold'), justify='center', width=30).grid(row=0, column=0)
# NAME
name_input = StringVar()
label_name = Label(frames_L, text=' First Name:', font=('arial', 12, 'bold'), justify='center', width=10)
label_name.grid(row=1, sticky=W)
entry_name = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=name_input)
entry_name.grid(row=1, column=1)
#LAST NAME
lastname_input = StringVar()
label_lastname = Label(frames_L, text=' Last Name:', font=('arial', 12, 'bold'), justify='center', width=10)
label_lastname.grid(row=2, sticky=W)
entry_lastname = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=lastname_input)
entry_lastname.grid(row=2, column=1)
#DATE ===== HERE IS THE PROBLEM =========
label_date = Label(frames_L, text='Date:', font=('arial', 12, 'bold'), width=10, anchor='w')
label_date.grid(row=3, column=0)
entry_day = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_day.grid(row=3, column=1, sticky='w')
entry_month = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_month.grid(row=3, column=2)
window.mainloop()
由于您想要适应两个日期并且希望名字和姓氏以相同的 x 结尾,因此您应该将这些输入框设为 2 列跨度,这将为您解决问题。
from Tkinter import *
# ======================== Window
window = Tk()
window.title("School Management System")
window.geometry("1350x750+0+0")
# ===================== Frames
top_frame = Frame(window, width=1000,height=100, bd=15, relief='raise')
top_frame.pack(side=TOP)
frames_L = Frame(window, bd=5, width=100, relief='raise')
frames_L.pack(side=LEFT, fill=Y)
frames_R = Frame(window, bd=5, relief='raise')
frames_R.pack(side=RIGHT, fill=Y)
# ================= Labels =========================================
tittle = Label(top_frame, text="Lucille Rupp's School Management System",
font=('times new roman', 30, 'bold'), justify='center', width=30).grid(row=0, column=0)
# NAME
name_input = StringVar()
label_name = Label(frames_L, text=' First Name:', font=('arial', 12, 'bold'), justify='center', width=10, anchor='w')
label_name.grid(row=1, column=0, sticky=W)
entry_name = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=name_input)
entry_name.grid(row=1, column=1, columnspan=2)## Added Column Span
#LAST NAME
lastname_input = StringVar()
label_lastname = Label(frames_L, text=' Last Name:', font=('arial', 12, 'bold'), justify='center', width=10,anchor='w')
label_lastname.grid(row=2, column= 0 , sticky=W)
entry_lastname = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=lastname_input)
entry_lastname.grid(row=2, column=1 ,columnspan = 2)## Added Column Span
#DATE ===== HERE IS THE PROBLEM =========
label_date = Label(frames_L, text=' Date:', font=('arial', 12, 'bold'), justify='center', width=10, anchor='w')
label_date.grid(row=3, column=0, sticky=W)
entry_day = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_day.grid(row=3, column=1, sticky=W+E+N+S)
entry_month = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_month.grid(row=3, column=2, sticky=W+E+N+S)
window.mainloop()
结果 window 看起来像这样 -
我不知道为什么 'Date' 部分的标签之间有太多空格。我认为这是我有标签的框架大小的问题,但必须有一种方法来容纳更多卡住的东西。 我在有问题的代码部分留言了。
我认为我已经尝试了所有方法...这是我第一次使用 tkinter。预先感谢您的帮助
from tkinter import *
# ======================== Window
window = Tk()
window.title("School Management System")
window.geometry("1350x750+0+0")
# ===================== Frames
top_frame = Frame(window, width=1000,height=100, bd=15, relief='raise')
top_frame.pack(side=TOP)
frames_L = Frame(window, bd=5, width=100, relief='raise')
frames_L.pack(side=LEFT, fill=Y)
frames_R = Frame(window, bd=5, relief='raise')
frames_R.pack(side=RIGHT, fill=Y)
# ================= Labels =========================================
tittle = Label(top_frame, text="Lucille Rupp's School Management System",
font=('times new roman', 30, 'bold'), justify='center', width=30).grid(row=0, column=0)
# NAME
name_input = StringVar()
label_name = Label(frames_L, text=' First Name:', font=('arial', 12, 'bold'), justify='center', width=10)
label_name.grid(row=1, sticky=W)
entry_name = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=name_input)
entry_name.grid(row=1, column=1)
#LAST NAME
lastname_input = StringVar()
label_lastname = Label(frames_L, text=' Last Name:', font=('arial', 12, 'bold'), justify='center', width=10)
label_lastname.grid(row=2, sticky=W)
entry_lastname = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=lastname_input)
entry_lastname.grid(row=2, column=1)
#DATE ===== HERE IS THE PROBLEM =========
label_date = Label(frames_L, text='Date:', font=('arial', 12, 'bold'), width=10, anchor='w')
label_date.grid(row=3, column=0)
entry_day = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_day.grid(row=3, column=1, sticky='w')
entry_month = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_month.grid(row=3, column=2)
window.mainloop()
由于您想要适应两个日期并且希望名字和姓氏以相同的 x 结尾,因此您应该将这些输入框设为 2 列跨度,这将为您解决问题。
from Tkinter import *
# ======================== Window
window = Tk()
window.title("School Management System")
window.geometry("1350x750+0+0")
# ===================== Frames
top_frame = Frame(window, width=1000,height=100, bd=15, relief='raise')
top_frame.pack(side=TOP)
frames_L = Frame(window, bd=5, width=100, relief='raise')
frames_L.pack(side=LEFT, fill=Y)
frames_R = Frame(window, bd=5, relief='raise')
frames_R.pack(side=RIGHT, fill=Y)
# ================= Labels =========================================
tittle = Label(top_frame, text="Lucille Rupp's School Management System",
font=('times new roman', 30, 'bold'), justify='center', width=30).grid(row=0, column=0)
# NAME
name_input = StringVar()
label_name = Label(frames_L, text=' First Name:', font=('arial', 12, 'bold'), justify='center', width=10, anchor='w')
label_name.grid(row=1, column=0, sticky=W)
entry_name = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=name_input)
entry_name.grid(row=1, column=1, columnspan=2)## Added Column Span
#LAST NAME
lastname_input = StringVar()
label_lastname = Label(frames_L, text=' Last Name:', font=('arial', 12, 'bold'), justify='center', width=10,anchor='w')
label_lastname.grid(row=2, column= 0 , sticky=W)
entry_lastname = Entry(frames_L, font=('arial', 12), justify='left', width=30, relief='sunken', textvariable=lastname_input)
entry_lastname.grid(row=2, column=1 ,columnspan = 2)## Added Column Span
#DATE ===== HERE IS THE PROBLEM =========
label_date = Label(frames_L, text=' Date:', font=('arial', 12, 'bold'), justify='center', width=10, anchor='w')
label_date.grid(row=3, column=0, sticky=W)
entry_day = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_day.grid(row=3, column=1, sticky=W+E+N+S)
entry_month = Entry(frames_L, font=('arial', 12, 'bold'), width=10)
entry_month.grid(row=3, column=2, sticky=W+E+N+S)
window.mainloop()
结果 window 看起来像这样 -