MapleStory Finger Point
본문 바로가기
Back-end/Python - project

[Python] 전화번호부 Project - PySide6(PyQt6)

by 디팔⸜( ◜࿁◝ )⸝︎︎ 2022. 8. 9.

함수가 작성되었기에 GUI를 구성하기로 결정을 했다.

원래 PyQt6 를 이용하여 만들고 있었는데, 한 블로그의 글을 보고 PySide6을 이용해 구현하기로 했다.

사실 PyQt6 작업을 하면서 참고할만한 예제가 많이 없어서 어려웠는데 직접 만들면서 예제를 작성해주시니

참고하면서 만들면 좋을 것 같아서 갈아탄 것도 있다(?)

 

참고한 블로그는 회사원 코딩님의 블로그이다. 링크는 아래에 북마크로 남겨두었다.

 

0. 2021년, 드디어 PyQt6와 PySide6가 릴리즈되었습니다.

파이썬 GUI 라이브러리의 선두주자 Qt for Python 6 릴리즈 드디어 PyQt6 배포와 함께 Qt for Python, 즉 PySide2가 PySide6라는 이름으로 배포되었습니다(재미있게도 PyQt6가 올 1월 배포되었는데, PySide6는 작..

martinii.fun


1. 개발환경 조성

Visual Studio Code를 계속 사용하고 있었기에 Pycharm은 따로 설치하지 않고 가상환경에서 PySide6 만 설치해 주었다.

꼭 가상환경(venv)가 켜져있는지 확인하고 설치하자!

pip install PySide6

설치된 모듈들을 보기 위해선 다음 명령어를 입력하면 된다.

pip list

설치된 이름과 버전이 출력된다!


2. 기본 창 구현하기

import sys
from PySide6.QtWidgets import QApplication, QWidget

app = QApplication(sys.argv)
window = QWidget()
window.show()
app.exec_()

기본 창을 띄우는 코드이다. 결과는 다음과 같다.


3. 구현해야 하는 GUI

  1. 전화번호부 메인 화면을 구성한다.
  2. 전화번호부 기능별(검색,추가,삭제,수정) 창 구현을 한다.
    1. 전화번호에 자료가 하나도 없을 경우, "자료가 없습니다" 글 또는 이미지가 보이도록 해야한다. (추가 제외)
    2. 검색 
    3. 추가 : 전화번호, 이메일이 중복되면 오류가 발생하며 사용자에게 알려야 한다.
    4. 삭제
    5. 수정 : 수정할 사항중에, 기존에 있던 자료가 있으면 오류를 발생시키고 사용자에게 중복을 알려야 한다.
  3. 모든 기능별 창에는 "뒤로가기" 버튼이 구현될 수 있도록 한다.
  4. 창 전환의 방법을 결정하고 창 전환이 될 때 마다 자료가 갱신될 수 있도록 한다.

댓글