Python用户名和密码框标签

时间:2017-03-20 15:41:54

标签: python tkinter

我试图创建一个tkinter窗口,要求用户输入用户名和密码。我的问题:我无法在输入框旁边正确对齐用户名和密码标签。他们都坐在入口区域的顶部。我究竟做错了什么?如何将标签放在输入字段的左侧?这是我的代码:

#Import Tkinter module
import tkinter.messagebox
from tkinter import *

#Create a window
tk1 = Tk()

#Window Size
tk1.geometry("500x500")

#Title window
tk1.title("Username and Password")

#Set background color using hex code
tk1.configure(background = "#618f56")

#Create a Label
lbl = Label(tk1, text="Welcome! Please enter your Username and Password.", bg="#618f56")

#Create a UN entry box
ent1 = Entry(tk1)
lbl1 = Label(tk1, text="Username")

#Create a Password entry box
ent2 = Entry(tk1)
lbl2 = Label(tk1, text="Password")

#Create a button
btn = Button(tk1, text="Submit", bg="#ffffff")

#Widgets
lbl.pack()
lbl1.pack()
lbl2.pack()
ent1.pack()
ent2.pack()
btn.pack()

#Draw window and start application
tk1.mainloop()

由于

1 个答案:

答案 0 :(得分:0)

import tkinter
from tkinter import *


class GUI:
    def __init__(self):
        self.root = tkinter.Tk()
        self.root.geometry('500x500')

        # Labels
        first_Label = Label(self.root, text='First Label')
        second_Label = Label(self.root, text='Second Label')

        # Entries
        first_entry = Entry(self.root)
        second_entry = Entry(self.root)



        # Packing
        first_Label.grid(column=1, row=1)
        second_Label.grid(column=1, row=2)
        first_entry.grid(column=2, row=1)
        second_entry.grid(column=2, row=2)


    def start(self):
        self.root.mainloop()

appstart = GUI()
appstart.start()

使用网格方法更有效地组织小部件可能会有所帮助。您可以在打包区域中看到如何选择用于放置窗口小部件的列和行。在您的代码中,小部件正在相互打包。这段代码将生成两个标签和两个输入框。具体来说,一个标签,然后是一个条目,它是正确的。您显然可以更多地操纵它们,但我会去effbot.org寻找一个好的资源。