Python 🐍/Python

Python) 소프트웨어 공학 프로젝트 (1)

SeongJo 2021. 5. 10. 23:10
반응형

 

 

 

안녕하세요 성조입니다.

 

이번 학기에 소프트웨어공학 수업을 수강하면서 스크럼 방식을 사용하여 진행하는 학기 프로젝트를 받아서 프로그램을 제작 중에 있습니다. 그냥 무작정 과제를 진행시킨다 생각하며, 작성하는 것보다. '소스코드를 오픈하고 다른 개발자분들이 볼 수 있도록 하면 좋겠다.'라는 생각에 소스 코드를 공개로 꾸준히 작성할 것 같습니다.

 


소스코드 입니다.

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import sys
# 찾아보기. QLCDNumber, QDial, QVBoxLayout의 경우 연결하기 예제에서 가지고 왔음.
import background as background
from PyQt5.QtWidgets import *
 
# 아이콘을 추가하기 위한 import
from PyQt5.QtGui import *
 
# 버튼 구성에 필요한 라이브러리.
from PyQt5 import QtCore, QtGui, QtWidgets
 
class MyApp(QWidget):
    # 초기화 하는 함수.
    def __init__(self):
        super().__init__()
        self.initUI()
 
        # sizeHint() 메서드는 버튼을 적절한 크기로 설정하도록 도와주는 함수이다.
        #sizeHint())
 
        # 글씨 폰트와 크기가 들어간 부분이다.
        #QToolTip.setFont(QFont('SansSerif', 10))
 
        # 게스트 계정으로 로그인하는 경우의 경고문.
        #self.setToolTip('게스트 계정으로 로그인합니다. \n\n ※ 주의 ※ \n 게스트 계정으로 로그인시 평점 및 후기 등을 남길 수 없으며, 제한되는 부분이 존재합니다.')
 
 
    #시작 초기화 함수
    def initUI(self):
        # 제목으로 들어갈 이름이 위치하는 공간이다.
        self.setWindowTitle('저기 어때?')
        # 아이콘 넣는 위치와 코드
        self.setWindowIcon(QIcon('아이콘 위치'))
        # 실행시 화면에 출력될 크기 값
        self.resize(400200)
 
        # 시작 배경 이미지 background_image 위치 및 주소
        background_image = QPalette()
        background_image.setBrush(QPalette.Background, QBrush(QPixmap("배경 사진 위치")))
        self.setPalette(background_image)
 
        #회원 로그인
        # 버튼을 어떤 생성자에게 달아줄 것인지.
        btn_login = QPushButton(' 로그인 'self)
        # 버튼의 위치와 크기를 설정한다.
        btn_login.setGeometry(24010092 , 50)
 
        #게스트 로그인
        btn_guest_login = QPushButton(' 게스트 로그인 'self)
        btn_guest_login.setGeometry(2401609223)
        btn_guest_login.clicked.connect(self.btn_guest_login_clicked)
 
        # ID/PW찾기
        btn_idPw = QPushButton(' ID/PW 찾기'self)
        btn_idPw.setGeometry(601607523)
 
        # 회원가입
        btn_Sign_Up = QPushButton(' 회원가입 'self)
        btn_Sign_Up.setGeometry(1501607523)
 
        # ID 입력 칸
        ID_text = QtWidgets.QLineEdit(self)
        ID_text.setGeometry(QtCore.QRect(6010016124))
 
        # PW 입력 칸 LineEdit을 사용하면 줄 바꿈X
        PW_text = QtWidgets.QLineEdit(self)
        PW_text.setGeometry(QtCore.QRect(6013016124))
 
        # 출력
        self.show()
 
 
    #모니터 가운데 정렬하는 함수 정의 및 실행.
    def center(self):
        # frameGeometry() 메서드를 이용하여 창의 위치와 크기 정보를 가져오는 라인코드.
        qr = self.frameGeometry()
        # 사용하는 모니터 화면의 가운데 위치를 파악해주는 명령어.
        cp = QDesktopWidget().availableGeometry().center()
        # 창의 직사각형 위치를 화면 중심으로 이동시켜주는 명령어.
        qr.moveCenter(cp)
        # 현재 창을, 화면의 중심으로 이동했던 직사각형(qr)의 위치로 이동시킨다.
        self.move(qr.topLeft())
 
    #게스트 로그인 버튼 클릭 이벤트
    def btn_guest_login_clicked(self):
        self.resize(1600900)
        self.center()
        new_background = QPalette()
        self.new_background.setColor(QPalette.Background, QColor(000))
        self.setPalette(new_background)
 
 
     # 크롤러 만들어서 이벤트 처리할 코딩 공간
 
 
 
# 조금 더 보기
if __name__ == '__main__':
   app = QApplication(sys.argv)
   ex = MyApp()
   #이벤트 처리를 위한 loop 반복문 실행
   sys.exit(app.exec_())
cs

 

 

현재 '저기 어때?' 프로그램이며 파이썬의 파이참 환경으로 제작 중입니다.

이미지 아이콘의 주소입니다.

www.flaticon.com/kr/free-icon/travel-guide_1315032?term=%EC%97%AC%ED%96%89&page=1&position=31&page=1&position=31&related_id=1315032&origin=tag.

 

 

Kiranshastry이(가) 제작한 여행 가이드개의 무료 벡터 아이콘

SVG, PSD, PNG, EPS 형식 또는 웹 폰트 형태로 이 무료 아이콘을 다운로드하세요. Flaticon은 최대의 무료 벡터 아이콘 데이터베이스입니다.

www.flaticon.com

위 사이트에 traveller라고 검색해서 남자 캐릭터, 여자 캐릭터를 사용했습니다.

검색으로 무료 이미지를 갖고 왔습니다. 상업적 목적이 없이 학습용으로 사용했습니다.

www.flaticon.com/search?word=hanok

 

Flaticon

Flaticon

www.flaticon.com

www.flaticon.com/search?word=bibimbap

 

Flaticon

Flaticon

www.flaticon.com

게스트 로그인을 클릭했을 때 기능을 사용할 수 있도록 만들고 있습니다.

자세한 프로젝트에 들어간 설계 및 내용들은 프로젝트 종료까지 천천히 업로드해서 정리하려 합니다.

소스코드를 지속적으로 github를 사용해서 업로드하려 했지만 아직 자세히 사용하는 방법을 모르기에 Slack과 티스토리에 정리합니다.😂😂

다음 포스팅 때 뵙겠습니다! 감사합니다.

반응형