기록하는 코더

[Python] PyQt 이용하기 본문

Python

[Python] PyQt 이용하기

damda_di 2022. 12. 30. 16:23

PyQt는 C++의 라이브러리를 가져와 사용한다.

그래서  부분적으로 C++의 문법을 따라가고 있다.

 

PyQt는 따로 설치하지 않고

Anaconda를 다운하면서 함께 설치된 designer툴을 이용할 예정이다.

designer툴에서 만든 ui불러와서 사용

PyQt 참고 링크 ↓

2022.12.24 - [프로그램 설치] - [Python] 설치하기

 

[Python] 설치하기

Python 설치 방법 (선택) 1. Python 설치 2. Anaconda 설치 (Python + default library) Anaconda에는 Python과 여러 라이브러리가 포함되어있다. Anaconda 링크 : https://www.anaconda.com/ Anaconda | The World's Most Popular Data Science

damdadi-dam.tistory.com

 

 

designer 툴은 JAVA의 swing과 유사한 형태를 가지고 있다.엔터키로 이벤트 주기

# self.이벤트주고싶은요소.returnPressed.connect(self.실행할 함수명)
self.leMine.returnPressed.connect(self.btn_event)

 

 

텍스트값 가져오기 / 설정하기

  • getter/setter 역할 =>  text(), setText()
  • plaineText => toPlainText(), setPlainText(code)

 

 

누른 버튼의 값 가져오기

self.sender()

class WindowClass(QMainWindow, form_class) :
    def __init__(self) :
        super().__init__()
        self.setupUi(self)
                
        self.pb0.clicked.connect(self.addNum)
        self.pb1.clicked.connect(self.addNum)
        self.pb2.clicked.connect(self.addNum)
        self.pb3.clicked.connect(self.addNum)
        self.pb4.clicked.connect(self.addNum)
        self.pb5.clicked.connect(self.addNum)
        self.pb6.clicked.connect(self.addNum)
        self.pb7.clicked.connect(self.addNum)
        self.pb8.clicked.connect(self.addNum)
        self.pb9.clicked.connect(self.addNum)
        self.pbCall.clicked.connect(self.myclick)        
        
    def addNum(self):
        btn = self.sender()
        btnText = btn.text()
        strNew = btnText
        strOld = self.le.text() + strNew
        
        
if __name__ == "__main__" :
    app = QApplication(sys.argv) 

    myWindow = WindowClass() 

    myWindow.show()

    app.exec_()

버튼을 누르면 누른 버튼의 텍스트가 입력되도록 했다.

 

이벤트창 띄우기 (JavaScript의 alert창, android studio의 Toast창과 같은 역할)

# 누르는 버튼이 확인만 뜸
QMessageBox.about(self, 'test', 'testMessage')

# 확인/취소 버튼
QMessageBox.question(self, 'test', 'testMessage')

참고링크 : https://mr-doosun.tistory.com/29

(왼쪽) question, (오른쪽) about

 

 

 

 

2022.12.30 - [Python] - [Python] PyQt 기본 예제

 

[Python] PyQt 기본 예제

Android 예제와 같이 진행할 예정이다. 버튼 누르면 글자 바꾸기 버튼 누르면 숫자가 1씩 증가 구구단 출력하기 홀짝게임 로또 번호 출력 가위바위보 별찍기 다이얼 만들기 입력 숫자 더하기 입력

damdadi-dam.tistory.com

 

'Python' 카테고리의 다른 글

[Python] pymssql 활용 - 01  (0) 2023.01.04
[Python] PyQt 기본 예제  (0) 2022.12.30
[Python] OOP(Object Oriented Programming)  (0) 2022.12.26
[Python] function  (1) 2022.12.24
[Python] Random  (0) 2022.12.24