상세 컨텐츠

본문 제목

OP.GG 크롤링하기 PyQt5-1

엔지니어일기/이것저것

by jaws99 2019. 12. 22. 21:18

본문

반응형

PyQt5를 사용해서 GUI를 띄우는 건 간단합니다.

 

Designer를 사용한 예제도 많지만 그렇게 대단한(?) GUI가 필요 없다고 생각해서 소스코드로 만들었습니다.

 

시간이 좀 걸렸던 부분은 단축키를 만들었던 부분, 텍스트를 읽어왔던 부분입니다.

 

import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QGridLayout, QLineEdit, QPushButton)

class MainApp(QWidget):

    def __init__(self):
        super().__init__()

        self.hotkey = QPushButton()
        self.summoner = QLineEdit()
        self.layout = QGridLayout()
        self.setLayout(self.layout)
        self.initUI()

    def initUI(self):
        self.hotkey.setText("Alt+1")
        
        self.layout.addWidget(QLabel("Summoner :"),0,0)
        self.layout.addWidget(QLabel("Hot Key:"),1,0)
        
        self.layout.addWidget(self.summoner,0,1)
        self.layout.addWidget(self.hotkey,1,1)
        self.setWindowTitle('OP.GG')

        self.hotkey.setShortcut("Alt+1")
        self.hotkey.clicked.connect(self.find_user)
        
        self.move(500, 300)
        self.resize(350, 150)
        self.show()
        
    def find_user(self):
        summonername = self.summoner.text()
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MainApp()
    sys.exit(app.exec_())

hotkey.setShortcut을 통해 단축키를 지정할 수 있었고 이어서 clicked.connect를 통해서

다른 함수를 호출할 수 있었습니다.

 

QTextEdit로 만든다면

self.summoner.toPlainText()로 텍스트 내용을 가져올 수 있었습니다.

 

저번과 결과는 같지만 

 

OP.GG에는 챔피언, 룬, 특성, 티어 사진 전부 나와있다.

모든 사진, 게이지, 룬까지 구현하기 힘들더라도 한눈에 알아볼 수 있게 챔피언 사진만 넣고 나머지 정보들은 정렬해야 된다고 생각했다.

반응형

관련글 더보기