개발/Python

[파이썬] PyQt connect () 구문이 왜 그렇게 장황합니까?

MinorMan 2021. 1. 11. 00:34
반응형

<질문>

저는 PyQt를 배우고 신호 및 슬롯 메커니즘을보고 있습니다. 나는 장황한 구문에 약간 당황합니다. 왜 우리는 :

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

다음을 작성하는 것을 선호합니다.

self.connect(dial.valueChanged, spinbox.setValue)

누구든지 connect () 구문이 왜 그렇게 명시적이고 장황해야하는지 말해 줄 수 있습니까?


<답변1>

PyQt를 사용할 수 있습니다.new style signals덜 장황합니다.

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

된다 :

dial.valueChanged.connect(spinbox.setValue)

<답변2>

Luper의 대답은 이것보다 훨씬 낫지 만 완전성을 위해 ...

그만큼추한"오래된 스타일"구문은C++세상-그 사람들이 작업해야하는 구문을보세요!Yucky...


<답변3>

더 짧은 방법은 생성자의 키워드 인수에서 함수에 신호 이름을 할당하는 것입니다.QDial(valueChanged=spinbox.setValue). PyQt는 자동으로valueChanged()신호를 보내다spinbox.setValue().

반응형