2017-03-20 2 views
0

사용자에게 사용자 이름과 암호를 묻는 tkinter 창을 만들려고합니다. 내 문제 : 입력란 옆에 Username 및 Password 레이블을 올바르게 정렬 할 수 없습니다. 그들은 둘 다 입력 필드 위에 앉습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 입력란의 왼쪽에 라벨을 붙이려면 어떻게해야합니까?(해결 된) 파이썬 사용자 이름 및 암호 상자 레이블

#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() 

감사

답변

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에 갈 것이다.

+0

덕분에 많은 사람이 일했습니다! – Flashpoint

+0

언제든지! 다행 당신을 위해 일했다! – cjonesrun

관련 문제