QT4 모듈 식 신디사이저 편집 위젯
-
18-09-2019 - |
문제
패치 (Sound) 편집에 사용될 모듈 식 합성 앱 (ALSA 모듈 형 신디사이저, Pure Data, Ingen)에 대한 GUI를 작성하려고합니다.
내가해야 할 일은 다음과 같습니다.
(원천: drobilla.net)
(원천: McGill.ca)
따라서 기본적으로 전선과 연결할 수있는 입력 및 출력 포트가있는 신디사이저 모듈을 나타내는 사각형 (상자)을 그릴 수있는 영역입니다.
문제는 두 개의 편집 영역에 대한 위젯을 만드는 방법을 알 수 없다는 것입니다. 상자를 수동으로 그리는 간단한 2D 드로잉 컨텍스트를 사용 하여이 작업을 수행하는 유일한 논리적 방법 인 것 같습니다. QT가 나에게 제공하는 훌륭한 이벤트 관리.
생성 된 "상자"의 좌표를 가져 와서 화면에 놓아서 QWIDGET의 하위 클래스로 상자를 구현할 수있는 사용자 정의 레이아웃을 만들 수 있는지 궁금합니다. 내가 평소처럼 창문으로.
아니면 더 좋은 방법이 있습니까?
고맙습니다
해결책
qgraphicsscene 및 qgraphicsview를 살펴보십시오. 이렇게하면 항목으로 가득 찬 장면을 만들 수 있습니다. 각 항목은 마우스 이벤트를받을 수 있으며 수동으로 페인트 할 수 있습니다.
다른 팁
Qlayout에서 상속되는 사용자 정의 레이아웃 클래스를 만들고 좌표와 함께 Add (qwidget* w) 함수를 과부하 할 수 있습니다.
개인적으로 저는 QgraphicsView 및 QgraphicsScene을 사용하고 있습니다. 마우스 이벤트로 일부 이벤트를 처리하고 QgraphicsItem을 쉽게 찾을 수 있습니다.
gephex sourcecode를 살펴보십시오 http://www.gephex.org/download.php
그들은 이미 QT를위한 위젯을 구축했지만 약간 오래된 코드 (QT3) 및 응용 프로그램 특정 일 수 있습니다.
ciao