관리 메뉴

지나가는 이야기

[Python] 티킨터를 이용한 로그인 화면 만들기 / tkinter를 이용한 로그인 화면 만들기 본문

Computer language : 컴퓨터 언어/Python

[Python] 티킨터를 이용한 로그인 화면 만들기 / tkinter를 이용한 로그인 화면 만들기

지나가는 이야기 2020. 11. 4. 08:13
728x90
반응형

 

Python에서 GUI를 사용하기 위한 가장 기초적인 방법은 바로 tkinter를 사용하는 것이다. 오늘은 tkinter를 사용하여 간단한 로그인 화면을 프로그래밍해보겠습니다. ( 본문 하단에 전체 코드가 있으니 참고하시면 됩니다. )

 

# tkinter를 사용하기 위한 import
from tkinter import *
from tkinter import ttk

# tkinter 객체 생성
window = Tk()

먼저 위 코드에 나와 있는 것과 같이 tkinter를 사용하기 위한 티킨터 라이브러리를 import 해준다. 이렇게 해줘야 tkinter를 사용할 수 있다. 그리고 tkinter 객채를 생성한다.

 

# 사용자 id와 password를 저장하는 변수 생성
user_id, password = StringVar(), StringVar()

다음으로는 로그인에 꼭 필요한 것을 만들었다. 바로 사용자의 아이디와 패스워드이다. 아이디와 패스워드는 문자로 입력을 받기 때문에 String형으로 변수를 생성했다.

이제 이렇게 생성한 아이디와 패스워드 변수를 티킨터를 사용하여 그래픽하게 바꿔야 한다.

 

# id와 password, 그리고 확인 버튼의 UI를 만드는 부분
ttk.Label(window, text = "Username : ").grid(row = 0, column = 0, padx = 10, pady = 10)
ttk.Label(window, text = "Password : ").grid(row = 1, column = 0, padx = 10, pady = 10)
ttk.Entry(window, textvariable = user_id).grid(row = 0, column = 1, padx = 10, pady = 10)
ttk.Entry(window, textvariable = password).grid(row = 1, column = 1, padx = 10, pady = 10)
ttk.Button(window, text = "Login", command = check_data).grid(row = 2, column = 1, padx = 10, pady = 10)

위 코드는 아이디와 패스워드를 그래픽하게 만든 코드이다. 먼저 Label를 이용하여 무엇을 뜻하는지 표시를 하였고, Entry를 사용해 값을 입력을 받을 수 있게 만들었다. 마지막 줄을 보게 되면 Button을 추가하였다. Button 부분을 자세히 보면은 지금껏 설명하지 않은 변수명(check_data)이 나오게 된다. 이 변수는 사용자가 입력한 값을 비교하는 함수이다.

 

# 사용자 id와 password를 비교하는 함수
def check_data():
    if user_id.get() == "Passing" and password.get() == "Story":
        print("Logged IN Successfully")
    else:
        print("Check your Usernam/Password")

위 코드는 check_data함수이다. 자세히 보면 아이디로 "Passing"를 입력하고, 비밀번호로 "Stroy"를 입력했을 시 성공하여 성공했다는 문구가 출력이 되는 것을 볼 수 있고, 실패 시 실패 문구를 확인할 수 있다.

 

 


# tkinter를 사용하기 위한 import
from tkinter import *
from tkinter import ttk

# tkinter 객체 생성
window = Tk()

# 사용자 id와 password를 저장하는 변수 생성
user_id, password = StringVar(), StringVar()

# 사용자 id와 password를 비교하는 함수
def check_data():
    if user_id.get() == "Passing" and password.get() == "Story":
        print("Logged IN Successfully")
    else:
        print("Check your Usernam/Password")

# id와 password, 그리고 확인 버튼의 UI를 만드는 부분
ttk.Label(window, text = "Username : ").grid(row = 0, column = 0, padx = 10, pady = 10)
ttk.Label(window, text = "Password : ").grid(row = 1, column = 0, padx = 10, pady = 10)
ttk.Entry(window, textvariable = user_id).grid(row = 0, column = 1, padx = 10, pady = 10)
ttk.Entry(window, textvariable = password).grid(row = 1, column = 1, padx = 10, pady = 10)
ttk.Button(window, text = "Login", command = check_data).grid(row = 2, column = 1, padx = 10, pady = 10)

window.mainloop()

위 코드는 전체 코드이다.

 

위 사진은 코드를 실행했을 때 나타난 화면으로 정상적으로 작동되는 것을 확인할 수 있다.

 

728x90
반응형
Comments