【发布时间】:2020-11-06 09:45:59
【问题描述】:
作为这个问题的前言,我之前尝试过搜索该问题,但无济于事。
我正在尝试制作一个小型登录系统 - 使用 SQL 的后端工作正常,尽管前端没有按预期工作。我的初始代码没有问题,一切都居中;在我只添加了一个标签之后,中心就无缘无故地消失了。
这是代码(如果有任何遗漏,请告诉我):
def main_window(): #actual login window
#define constants start
global root
root = Tk()
root.title("Hockey Login System")
width = 800
height = 500
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x = (screen_width/2) - (width/2)
y = (screen_height/2) - (height/2)
root.geometry("%dx%d+%d+%d" % (width, height, x, y))
root.resizable(0, 0)
#alignment related constants
title_frame = Frame(root, bd=2, relief=RIDGE)
title_frame.pack(side=TOP, fill=X)
Form = Frame(root, height=500)
Form.pack(side=TOP, pady=20)
#define constants finish
#login labels placement start
label_title = Label(title_frame, text="Please log in in order to access Hockey.", font=('arial', 15))
label_title.pack(fill=X)
label_username = Label(Form, text="Username", font=('arial', 14), bd=15)
label_username.grid(row=0, sticky="e")
label_password = Label(Form, text="Password", font=('arial', 14), bd=15)
label_password.grid(row=1, sticky="e")
global label_text
label_text = Label(Form)
label_text.grid(row=2, columnspan=2)
#login labels placement finish
#entry boxes start
username = Entry(Form, textvariable=USERNAME, font=(14))
username.grid(row=0, column=1)
password = Entry(Form, textvariable=PASSWORD, show="*", font=(14))
password.grid(row=1, column=1)
#entry boxes finish
#login & register buttons start
btn_login = Button(Form, text="Login(will start game if successful)", width=45, command=Login)
btn_login.grid(pady=25, row=3, columnspan=2)
btn_login.bind('<Return>', Login)
btn_register = Button(Form, text="Register with inserted credentials", width=45, command=Register)
btn_register.grid(pady=25, row=4, columnspan=2)
btn_register.bind('<Return>', Login)
#login & register buttons finish
#copyright/credits start
label_creation = Label(Form, text="Created using Python, tkinter and SQLite3", font=('arial', 12), bd=15)
label_creation.grid(pady=25, row=5, sticky="e")
#copyright/credits finish
root.mainloop() #runs window
有问题的行是代码末尾附近的 label_creation 变量。代码是这样的:
没有 label_creation:(centered)
使用 label_creation:not centered
总而言之,我一直在尝试使所有内容都居中,但失败了,包括由于同时执行 .grid() 和 .pack() 而导致的大量错误。
提前致谢!
【问题讨论】:
-
请提供一个最小的工作示例供我们尝试