Python (40)

반응형

 

버튼 클릭 시 바뀌는 이벤트 (pyqt)

 

 

+사용한 pyqt01.ui

 

from PyQt5 import QtWidgets, uic
import sys

form_window = uic.loadUiType("pyqt01.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pb.clicked.connect(self.myclick)
        self.show()
        self.clicked_once = False  # 버튼이 클릭되었는지 여부를 저장하는 변수

    def myclick(self):
        if not self.clicked_once:  # 처음 클릭되었을 때
            self.lbl.setText("Good Evening!")
            self.clicked_once = True
        else:  # 두 번째 클릭되었을 때
            self.lbl.setText("Good Morning!")
            self.clicked_once = False

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면1

 

 

 

  • 버튼 클릭 시 숫자 1 증가
from PyQt5 import QtWidgets, uic
import sys

form_window = uic.loadUiType("pyqt02.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pb.clicked.connect(self.myclick)

    def myclick(self):
        sum = int(self.le.text())
        sum += 1
        self.le.setText(str(sum))

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면2

 

 

+ 사용한 ui

 

 

 

  • 두 수를 받아와 버튼 클릭 시 빼기
from PyQt5 import QtWidgets, uic
import sys

form_window = uic.loadUiType("pyqt03.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pb.clicked.connect(self.myclick)

    def myclick(self):
        su1 = int(self.le01.text())
        su2 = int(self.le02.text())
        sum = su1 - su2
        self.le03.setText(str(sum))

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면3

 

 

 

  • 단 입력 후 구구단 출력하기
from PyQt5 import QtWidgets, uic
import sys

form_window = uic.loadUiType("pyqt04.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pb.clicked.connect(self.myclick)

    def myclick(self):
        su1 = self.le.text()
        su2 = int(su1)
        txt = ""
        
        for i in range(1,9+1):
            txt += "{}x{}={}\n".format(su1,i,i*su2)
            
        self.te.setText(txt)

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면4

 

 

 

  • 로또 번호 출력하기
from PyQt5 import QtWidgets, uic
import sys
from random import random

form_window = uic.loadUiType("pyqt05.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pb.clicked.connect(self.myclick)

    def myclick(self):
        su = list(range(1, 45+1))
        
        for i in range(1,999):
            rnd = int(random()*45)
            temp = su[0];
            su[0] = su[rnd]
            su[rnd] = temp 
            # print(su)
        
        self.lcd1.display(su[0])
        self.lcd2.display(su[1])
        self.lcd3.display(su[2])
        self.lcd4.display(su[3])
        self.lcd5.display(su[4])

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면5

 

 

 

  • n에서 m까지 a배수의 합 구하기
from PyQt5 import QtWidgets, uic
import sys
from random import random

form_window = uic.loadUiType("pyqt06.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pb.clicked.connect(self.myclick)

    def myclick(self):
        su1 = int(self.le1.text())
        su2 = int(self.le2.text())
        su3 = int(self.le3.text())
        sum = 0

        arr = list(range(su1, int(su2+1)))
        
        for i in arr:
            if i%su3 == 0:
                print(i)
                sum += i
        
        self.le4.setText(str(sum))


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면6

 

 

 

  • 번호 입력 후 버튼 클릭 시 알람창 출력하기
from PyQt5 import QtWidgets, uic
import sys
from random import random
from PyQt5.Qt import QMessageBox

form_window = uic.loadUiType("pyqt07.ui")[0]

class UiMainWindow(QtWidgets.QMainWindow, form_window):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.show()
        self.pb1.clicked.connect(self.myclick)
        self.pb2.clicked.connect(self.myclick)
        self.pb3.clicked.connect(self.myclick)
        self.pb4.clicked.connect(self.myclick)
        self.pb5.clicked.connect(self.myclick)
        self.pb6.clicked.connect(self.myclick)
        self.pb7.clicked.connect(self.myclick)
        self.pb8.clicked.connect(self.myclick)
        self.pb9.clicked.connect(self.myclick)
        self.pb0.clicked.connect(self.myclick)
        self.pb_call.clicked.connect(self.mycall)

    def myclick(self):
        str_old = self.le.text() 
        str_new = self.sender().text() # sender : 기존에 존재하는 text의 값을 가져옴
        self.le.setText(str_old+str_new)
    
    def mycall(self):
        str = self.le.text()
        QMessageBox.about(self,'Calling',str) # 파이썬 alert창
        

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    main_window = UiMainWindow()
    sys.exit(app.exec_())

 

결과 화면7

 

 

반응형
반응형

 

설치 방법

 

1

 

1. Next 클릭

 

2

 

2. I Agree 클릭

 

3

 

3. All Users (requires admin privileges) 클릭 > Next 클릭

 

4

 

4. 위치 기입 후 > Next 클릭

 

5

 

5. 체크박스 클릭 후 > Install 클릭

 

6

 

6. Next 클릭 후 Finish

 

설치 확인

 

 

 

실행

 

1, 2

 

1. cmd 창 키기 > designer 입력

 

2. Main Window 클릭 > 생성 클릭

 

 

 

아나콘다 설정

 

1

 

1. Window > Preferences 클릭

 

2

 

2. int 검색 > Python Interpreter 클릭 > python 클릭 > Remove 클릭

 

3

3

 

3. New 클릭 > Config first in PATH 클릭

 

4

 

4. 경로 변경된 것 확인 > Apply and Close 클릭

 

 

반응형

'Python' 카테고리의 다른 글

[Python] 10.5.1장 과제1  (0) 2024.04.01
[Python] 10장 pyqt를 이용한 실습  (0) 2024.03.29
[Python] 8장 pyqt5 설치 방법  (0) 2024.03.28
[Python] 7.5장 과제 (Swing을 이용)  (0) 2024.03.28
[Python] 7장 자바 SWING  (0) 2024.03.28
반응형

 

pyqt5 설치 방법

 

1

 

1. Window > Preferences 클릭

 

2

 

2. int 검색 > Python Interpreter 클릭 > python 클릭 > Manage with pip 클릭

 

3

 

3. install pyqt5 입력 > Run 클릭

 

4

 

4. install PyQt5Designer 입력 > Run 클릭 > Close 클릭

 

5

 

5. 추가된 것을 확인 > Apply and Close 클릭

 

6

 

6. 파일 탐색에서 designer.exe 검색 > designer.exe 더블 클릭

 

켜진 화면 확인

 

 

반응형
1 ··· 7 8 9 10 11 12 13 14