나는 어느 쪽 MDI 또는 QDockwidget 기반 응용 프로그램에 포함해야 할 몇 가지 다른 QGlWidget 기반 디스플레이 위젯이있다. 하지만 내 디스플레이 위젯 (등 고정/최소화)를 MDI/선착장 특정 이벤트의 일부를 처리 할 필요가Qt는, 다중 상속, 래퍼 또는 이벤트 필터
옵션은 다음과 같습니다
곱하기 QGlWidget 및 QMdiSubWindow/QDockWidget에서 디스플레이 위젯을 상속합니다. 곱셈 상속 및 신호/슬롯과 관련된 문제가 있습니까?
QMdiSubWindow/QDock 파생 위젯 내에서 디스플레이를 캡슐화하지만 Mdi/Dock 래퍼 위젯에서 모든 디스플레이의 외부 함수를 래핑해야합니다. 나는 새 창을 만들 때, 임시 MDI/선착장 위젯을 만들고 여기에 디스플레이를 장착하고 표시하기 전에 디스플레이의 슬롯에 모두 특별한 신호를 연결
. 그러나 이것은 사건에 대해서는 효과가 없습니다. 나는 QGlWidget에 QMdiSubWindow/QDockWidget에게 특정 신호를 수신 할 수
일부 QSignalMapper 마법
Qt는 동일한 객체에서 QObject를 두 번 상속하는 것을 지원하지 않으므로 QGIWidget이 QWidget의 하위 클래스라고 가정하면 첫 번째 옵션은 작동하지 않습니다. –
@JeremyFriesner - 감사합니다. 나는 MainWindow를 메뉴/도구 모음 등이 그들을 호출 할 수 있도록 컨테이너 위젯의 각 displayWidget 기능을 래핑하는 것을 피하기 위해 기대했다 - 내가해야 할 것이라고 생각했던 거의이었다 t 작업 –