728x90
버튼 클릭 이벤트를 함수와 연결하기
우선 접근해야하는 위젯들의 object name 입니다.
1차적으로 중요한 것은
lineEdit 의 텍스트를 가져오는 것과
pushButton 의 클릭 이벤트를 처리하는 것입니다.
pushButton 의 clicked 시그널을 self.run 함수에 연결하겠다는 소리입니다.
self.pushButton.clicked.connect(self.run)
lineEdit 의 텍스트는
lineEdit.text() 로 가져올 수 있습니다.
반대로 설정하는 것은 lineEdit.setText('문자열')
import sys
from PyQt5 import QtCore, QtWidgets, uic
from PyQt5.QtWidgets import QMainWindow
ui = uic.loadUiType('app.ui')[0]
class MainWindow(QMainWindow, ui):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.run)
def run(self):
keyword = self.lineEdit.text()
print(keyword)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
app.exec_()
이제 검색 버튼을 눌렀을 때 크롤러를 실행해보겠습니다.
디렉터리: C:\Users\Desktop\pyqt\Example\begin_for_blog\2
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020-07-22 오후 6:32 __pycache__
-a---- 2020-07-22 오후 6:32 715 app.py
-a---- 2020-07-22 오후 6:14 1817 app.ui
-a---- 2020-07-22 오후 5:26 1858 crawler.py
크롤러 포스팅을 안보신 분들은 다음을 참조하세요.
간단하게 크롤러 모듈을 import 하여 연동합니다.
import sys
from PyQt5 import QtCore, QtWidgets, uic
from PyQt5.QtWidgets import QMainWindow
from crawler import *
ui = uic.loadUiType('app.ui')[0]
class MainWindow(QMainWindow, ui):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.run)
self.crawler = GoogleWeather()
def run(self):
keyword = self.lineEdit.text()
self.crawler.set_keyword(keyword + ' 날씨')
self.crawler.run()
r = self.crawler.get_result()
print(r)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
app.exec_()
테이블위젯에 아이템을 삽입하는 것은 다음 포스팅에 다루겠습니다.
'Application > PyQt5' 카테고리의 다른 글
파이큐티(PyQt5) 시작하기 - 구글 날씨 검색기 만들기 -4 : 완성도 (0) | 2020.07.22 |
---|---|
파이큐티(PyQt5) 시작하기 - 구글 날씨 검색기 만들기 -3 : 결과 출력 (0) | 2020.07.22 |
파이큐티(PyQt5) 시작하기 - 구글 날씨 검색기 만들기 -1 : 디자이너 활용 (0) | 2020.07.22 |
파이큐티(PyQt5) 시작하기 - 어플리케이션 실행하는 3가지 방법 (1) | 2020.07.22 |
파이큐티(PyQt5) 시작하기 - 디자이너(designer) 설치 (0) | 2020.07.22 |