이방법은 굉장히 위험한 방법이며,파이썬을 재설치 해야될수도 있습니다.주의해서 사용해주시기 바랍니다.
설명
아래 이미지와같이 PyQt5에서 제공하는 cliced 다음 connect 부분같이,
있는데도 불구하고 인식하지 못할때 사용하는 임시적인 방법 입니다.
해결방법
일단 print를 찍어봐서 어느 클래스에서 사용되는지 알아야 됩니다.
위 이미지와 같이 print를 찍어보면
PyQt5.QtCore.pyqtBoundSignal에서 있는것을 볼수 있습니다.
그다음 clicked에 참조된 위치에 들어갑니다.
(아래이미지는 vscode에서 ctrl키 누른 상태에서 마우스를 올리면 참조된 위치로 이동합니다.)
그리고 참조된 위치로 이동해 보시면
이런식으로 함수또는 변수들이 쭉 나열된것을 볼수 있습니다. (노란색 부분)
(QPushButton같은 경우는 여기[QAbstractButton class안, {노란색부분}]에 있는 모든 함수들을 사용이 가능합니다.)
그리고 아까 print로 확인한 클래스부분중 맨뒤부분을 복사해서 찾기 합니다.(아래 이미지 참조)
그러면 QtCore.pyqtBoundSignal가 정의 되어 있는 부분이 있습니다.
이과정을 왜하냐면,
해당 임포트를 from QtCore.pyqtBoundSignal으로 구성 했기 때문에
해당 파일에서는 저런식으로 구성할수 있습니다.
「만약 자신이 임이로 import하면 그대로 사용하실수 있습니다.
하지만 install한 모듈 파일은 거희 건들지 않는것을 추천 드립니다... 」
그리고 QtCore.pyqtBoundSignal을 복사 해줍니다.
다음 아까 참조된 clicked에 가보시면,
'def clicked(self, checked: bool = ...) -> None: ...'
이라고 되어 있는부분에 엔터를 치고
해당 변수명:QtCore.pyqtBoundSignal라고 입력해줍니다. (이미지 참조)
(clicked:QtCore.pyqtBoundSignal)
그다음 저장하고 모든창닫고(저는 VSCode) 다시 열어봅니다.
그럼 아래 이미지처럼 자동완성을 사용할수 있게 됩니다.
코드가 더러워지지만 좀더 안전한 방법