파이썬 (pythoon)

PyQt6를 사용한 간단한 로그인 프로그램 만들기

working for you 2023. 6. 27. 13:28
반응형

데스크톱 애플리케이션 또는 웹 기반 플랫폼을 개발하더라도, 견고한 로그인 메커니즘을 구현하여 사용자 데이터를 보호하고 개인 정보를 보호하는 것이 중요합니다. 이 글에서는 PyQt6를 사용하여 간단한 로그인 프로그램을 만드는 방법을 살펴보겠습니다. 

[목차]
1. PyQt6란?
2. 사전 요구 사항
3. 로그인 프로그램 만들기
4. 결론 및 의견

 

 

pyqt6 로그인

 

1. PyQt6란?

PyQt6는 개발자가 네이티브한 룩 앤 필을 가진 크로스 플랫폼 응용 프로그램을 만들 수 있는 Qt 애플리케이션 프레임워크에 대한 파이썬 바인딩입니다. PyQt6는 상호운용성을 제공하며, 인터랙티브하고 시각적으로 매력적인 데스크톱 애플리케이션을 구축하기 위한 포괄적인 도구 및 위젯을 제공합니다.

 

PyQt6는 Qt 프레임워크의 최신 버전인 Qt6를 기반으로하며 파이썬과의 원활한 통합을 제공합니다.

 

 

2. 사전 요구 사항

이 튜토리얼을 따르려면 다음 사항이 필요합니다.

  • 시스템에 Python이 설치되어 있어야 합니다(버전 3.6 이상).
  • PyQt6 라이브러리가 설치되어 있어야 합니다. pip를 사용하여 설치할 수 있습니다: pip install PyQt6

 

 

3. 로그인 프로그램 만들기

PyQt6를 사용하여 간단한 로그인 프로그램을 만드는 단계별 프로세스로 들어가 보겠습니다.

 

 

Step 1: 필요한 모듈 가져오기

우선, 선호하는 Python IDE 또는 텍스트 편집기를 열고 새 Python 스크립트를 만듭니다. 필요한 모듈을 가져와 시작합니다.

from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton

 

 

Step 2: 애플리케이션 창 만들기

다음으로, QMainWindow 클래스를 서브 클래스화하여 메인 애플리케이션 창을 만듭니다.

class LoginWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("로그인 프로그램")
        self.setGeometry(100, 100, 300, 200)

여기서 setWindowTitle 및 setGeometry 메서드를 사용하여 창 제목 및 창 크기를 설정합니다.

 

 

Step 3: 위젯 추가

이제 애플리케이션 창에 필요한 위젯을 추가합니다. 이 경우, 사용자 이름, 비밀번호 및 로그인 기능에 대한 라벨, 라인 편집기 및 버튼을 추가합니다.

class LoginWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("로그인 프로그램")
        self.setGeometry(100, 100, 300, 200)

        self.username_label = QLabel("사용자 이름:", self)
        self.username_label.move(20, 20)

        self.username_input = QLineEdit(self)
        self.username_input.move(100, 20)
        self.username_input.resize(150, 20)

        self.password_label = QLabel("비밀번호:", self)
        self.password_label.move(20, 50)

        self.password_input = QLineEdit(self)
        self.password_input.setEchoMode(QLineEdit.EchoMode.Password)
        self.password_input.move(100, 50)
        self.password_input.resize(150, 20)

        self.login_button = QPushButton("로그인", self)
        self.login_button.move(100, 90)
        self.login_button.clicked.connect(self.login)

여기서 QLabel 위젯을 사용하여 사용자 이름 및 비밀번호 필드의 라벨을 만듭니다. QLineEdit 위젯은 사용자 이름 및 비밀번호에 대한 입력 필드를 만드는 데 사용됩니다. 또한, setEchoMode 메서드를 사용하여 비밀번호 입력 필드의 에코 모드를 비밀번호 모드로 설정합니다.

 

마지막으로, 로그인 버튼을 위한 QPushButton 위젯을 추가합니다. 버튼의 클릭된 신호를 로그인 메서드에 연결합니다.

 

 

Step 4: 로그인 기능 구현

이제 로그인 기능을 구현해 보겠습니다. 간단하게, 사용자 이름과 비밀번호가 미리 정의된 자격 증명과 일치하는지 확인합니다.

class LoginWindow(QMainWindow):
    def __init__(self):
        # ... 이전 코드 ...

    def login(self):
        username = self.username_input.text()
        password = self.password_input.text()

        if username == "admin" and password == "password":
            print("로그인 성공!")
        else:
            print("잘못된 자격 증명!")

이 예에서는 QLineEdit 위젯의 text() 메서드를 사용하여 사용자 이름과 비밀번호 필드에 입력된 텍스트를 검색합니다. 그런 다음 입력된 값과 미리 정의된 자격 증명을 비교합니다. 인증을 위해 데이터베이스에 연결하는 등의 요구 사항에 따라 이러한 로직을 수정할 수 있습니다.

 

 

Step 5: 애플리케이션 실행

애플리케이션을 실행하려면 QApplication 클래스와 LoginWindow 클래스의 인스턴스를 생성해야 합니다. 마지막으로, exec() 메서드를 호출하여 이벤트 루프를 시작합니다.

if __name__ == "__main__":
    app = QApplication([])
    window = LoginWindow()
    window.show()
    app.exec()

 

 

 

4. 파이썬 로그인 전체코드 보기

이 코드를 실행하면 로그인 창이 작동하는 것을 볼 수 있습니다. "로그인" 버튼을 클릭하면 입력한 자격 증명이 미리 정의된 값(사용자 이름은 "admin", 암호는 "password")과 일치하는지 확인합니다. "로그인 성공!"이 인쇄됩니다. 또는 "잘못된 자격 증명!" 비교를 기반으로 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton
 
class LoginWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Login Program")
        self.setGeometry(100100300200)
 
        self.username_label = QLabel("Username:"self)
        self.username_label.move(2020)
 
        self.username_input = QLineEdit(self)
        self.username_input.move(10020)
        self.username_input.resize(15020)
 
        self.password_label = QLabel("Password:"self)
        self.password_label.move(2050)
 
        self.password_input = QLineEdit(self)
        self.password_input.setEchoMode(QLineEdit.EchoMode.Password)
        self.password_input.move(10050)
        self.password_input.resize(15020)
 
        self.login_button = QPushButton("Login"self)
        self.login_button.move(10090)
        self.login_button.clicked.connect(self.login)
 
    def login(self):
        username = self.username_input.text()
        password = self.password_input.text()
 
        if username == "admin" and password == "password":
            print("Login successful!")
        else:
            print("Invalid credentials!")
 
if __name__ == "__main__":
    app = QApplication([])
    window = LoginWindow()
    window.show()
    app.exec()
 
cs

실행화면

PyQt6를 사용한 간단한 로그인 프로그램 만들기
PyQt6 로그인 프로그램

 

5. 결론 및 의견

PyQt6를 사용하여 간단한 로그인 프로그램을 만드는 방법을 살펴보았습니다. PyQt6를 소개하고 크로스 플랫폼 데스크톱 애플리케이션을 구축하는 데 중요한 역할을 한다는 것을 설명한 후, 사용자 이름, 비밀번호 필드 및 로그인 버튼이 있는 기본적인 로그인 애플리케이션을 만드는 단계별 가이드를 따라했습니다.

 

이 프로그램은 단순하지만 더 복잡한 로그인 시스템을 개발하기 위한 기초를 제공합니다.

 

 

[관련글]

[파이썬 (pythoon)] - PyQt6을 사용하여 간단한 계산기를 만드는 방법

 

PyQt6을 사용하여 간단한 계산기를 만드는 방법

Python 라이브러리인 PyQt6을 사용하여 간단한 계산기를 만드는 방법을 살펴봅니다. PyQt6는 Python의 단순성과 Qt 프레임워크의 광범위한 기능을 결합하여 대화형 애플리케이션을 구축하는 데 탁월한

2toy.net

[정보 및 유용한 팁] - 챗GPT 란? (CHAT GPT 사용)

 

챗GPT 란? (CHAT GPT 사용)

챗GPT 란 무엇일까요? 요즘 너무 핫하다 못해 마치 옆에 있는 선생님처럼 느껴지는 이 인공지능 AI에 대해서 이해하기 쉽게 정리하려 합니다. 결론적으로 챗GPT에게 질문을 하면, 형식적인 답이 아

2toy.net

[파이썬 (pythoon)] - Python Tkinter 스톱워치 응용 프로그램 구축

 

Python Tkinter 스톱워치 응용 프로그램 구축

스톱워치는 시간을 정확하게 측정하고 추적하는 데 유용한 도구입니다. 운동 시간을 측정하거나 학습 세션을 추적하거나 이벤트 기간을 측정해야 하는 경우 Python Tkinter 스톱워치 응용 프로그램

2toy.net

[파이썬 (pythoon)] - Python Tkinter sqlite 3 데이터베이스 insert, update, delete

 

Python Tkinter sqlite 3 데이터베이스 insert, update, delete

Python Tkinter sqlite 사용하여 데이터베이스 작업을 위해 데이터베이스용 그래픽 사용자 인터페이스를 구축하는 방법을 살펴봅니다. 필수 개념을 다루고 직관적이고 효율적인 데이터베이스 애플리

2toy.net

[파이썬 (pythoon)] - Python Tkinter를 이용한 텍스트 편집기(Text Editor) 만들기

 

Python Tkinter를 이용한 텍스트 편집기(Text Editor) 만들기

파이썬 GUI 툴킷인 Tkinter는 Python과 함께 제공되며 사용자 친화적이고 효율적인 대화형 애플리케이션을 만들 수 있는 방법을 제공합니다. 이번 글에서는 Python Tkinter를 사용하여 텍스트 편집기(text

2toy.net

반응형