문제

패치 (Sound) 편집에 사용될 모듈 식 합성 앱 (ALSA 모듈 형 신디사이저, Pure Data, Ingen)에 대한 GUI를 작성하려고합니다.

내가해야 할 일은 다음과 같습니다.

Ingen
(원천: drobilla.net)

Pure Data

hallseymrk1?
(원천: 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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top