ComputerLanguage_Program/PYTHON
[PYTHON] PyQt를 활용한 반복 수행 앱 제작
pbj0812
2020. 10. 27. 00:36
0. 목표
- PyQt 를 활용하여 정해진 반복횟수 만큼 주어진 작업을 반복하는 앱 제작
1. 플로우 차트
2. 실습
1) library 호출
import sys
from PyQt5.QtWidgets import *
2) class 및 함수 생성
(1) initUI
- 버튼 생성
- 버튼 위치 생성
- le 의 결과는 buttonClick 으로 보내버림
(2) buttonClick
- 1번 라디오 버튼이 클릭된 상태면 1 출력, 2번 라디오 버튼이 클릭된 상태면 2 출력
- 이를 push 버튼(btn)과 연결
- le 에서 받은 값을 변수로 만들어 반복문의 반복 횟수로 사용
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# text
self.le = QLineEdit()
self.le.setPlaceholderText('Enter INT!!!!!!!!!!')
self.le.returnPressed.connect(self.buttonClick)
# push
self.btn = QPushButton('Search')
self.btn.clicked.connect(self.buttonClick)
# radio1
self.rbtn1 = QRadioButton('First Button', self)
self.rbtn1.move(50, 50)
self.rbtn1.setChecked(True)
# radio2
self.rbtn2 = QRadioButton(self)
self.rbtn2.move(50, 70)
self.rbtn2.setText('Second Button')
grid = QGridLayout()
grid.addWidget(self.le, 5, 4, 6, 4)
grid.addWidget(self.btn, 6, 4, 6, 4)
self.setLayout(grid)
self.setWindowTitle('Twitter Crawler')
self.setGeometry(100, 100, 400, 250)
self.show()
def buttonClick(self):
cycle_number = int(self.le.text())
if self.rbtn1.isChecked():
for i in range(cycle_number):
print(i + 1)
elif self.rbtn2.isChecked():
for i in range(cycle_number):
print(i + 2)
3) 메인
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
3. 실행
1) 실행
python pyqt_test.py
- 결과
2) Enter INT!!! 에 5를 입력 -> First Button 선택 -> Search
3) Enter INT!!! 에 5를 입력 -> Second Button 선택 -> Search