반응형

connect에서 slot 함수에 아규먼트를 전달하는 PyQt5 예제입니다.



2022. 8. 16  최초작성




프로그램을 실행한 후, 버튼을 클릭하면 

 



connect에서 slot 함수에 전달한 아규먼트를 화면에 출력해줍니다.

 




전체 소스코드입니다.

 

import sys
from PyQt5.QtWidgets import QApplication, QDialog, QPushButton, QHBoxLayout
from PyQt5.QtCore import pyqtSlot, QSize


class MyDialog(QDialog):

    def __init__(self):
        super().__init__()
       
        self.setMinimumSize(QSize(300, 200))

        horizontal_layout = QHBoxLayout()
        button = QPushButton('button', self)


        // lambda를 사용하면 slot 함수에 아규먼트를 전달할 수 있습니다.
        button.clicked.connect(lambda: self.on_click(1, 'a'))


        horizontal_layout.addWidget(button)

        self.setLayout(horizontal_layout)
       
        self.show()

    @pyqtSlot()
    def on_click(self, a, b):
        print('button click ', a, b)


if __name__ == '__main__':

    app = QApplication(sys.argv)
    dlg = MyDialog()
    dlg.show()
    app.exec_()




참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=21ahn&logNo=221388594129 


반응형

'Qt > PyQt5 강좌' 카테고리의 다른 글

PyQt5 예제 - QTreeView으로 json 로드하기 및 저장하기  (0) 2023.10.22
PyQt5 예제 - QListWidget  (0) 2023.10.22
PyQt5 예제 - QStackedWidget  (0) 2023.10.22
PyQt5 예제 - QProgressDialog  (0) 2023.10.22
PyQt5 예제 - FlowLayout  (0) 2023.10.22

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts