1
나는 (바인딩 파이썬 Qt를 사용) 파이썬에서 다음과 같이 상속하여 클릭 QWidget
했다 신호를 구현할 수 있습니다.이벤트는 QWidget에 대한 핸들러와 파생 클래스를 구현하고 방지 코드 중복
동일한 기능을 QLabel
, QToolBar
에 추가하고 싶습니다. 물론 쉽게 동일한 방법으로 코드 중복을 유발할 수 있습니다.
최소한의 코드 중복이 있고 코드가 효율적이고 유지 보수가 쉽다는 점에서 더 나은 대안이 있습니까? Qt와 비슷한/Pythonic 방식은 무엇이 될까요?
하나의 대안은 Qt 애플리케이션 (?)에 이벤트 필터를 설치하여 원하는 위젯으로가는 모든 이벤트를 필터링하는 것일 수 있지만 대상 개체를 구별하지 않으면 서 복잡해 질 수 있습니다.
필자의 파이썬 지식은 확실히 포괄적이지 않습니다. 함수 내에서 클래스를 정의 할 수 있습니까? 생성 된 클래스의 형식 이름은 무엇입니까? 예를 들어 스타일 시트에서 어떻게 지정 하시겠습니까? – Trilarion
예, 할 수 있습니다 (이것은 데코레이터의 작동 방식입니다). 클래스의 이름은 당신이 그것을 할당하기로 선택했다면, 나의 예제의 경우에 이것은'MyLabel'과'MyToolBar'입니다. 이것들은 클래스의 인스턴스가 아니라 클래스 자체의 정의에 대한 핸들입니다. – user3419537
고마워, 나는 여기서 많은 것을 배웠다. – Trilarion