2012-01-09 3 views
1

특정 신호 처리 기능이있는 간단한 사운드 편집기를 구현해야합니다. 소리 정보를 세로로 큰 그림 (1024x [큰 높이])으로 표시하고 싶습니다. 그래서 웹 브라우저를 스크롤하는 것과 유사한 낮은 CPU 소모 세로 스크롤을 구현하는 Qt의 가장 좋은 방법을 찾고 있습니다.Qt 대형 이미지 스크롤

+0

어떻게 이미지를 만들 수 있습니까? 신호 파형 일 경우 QGraphicsScene/View를 사용하여 신호 파형을 생성하면 내장 된 공간 가속 구조와 OpenGL 렌더링을 활용할 수 있습니다. – cmannett85

+0

파일을 읽는 동안 이미지를 그립니다. http://lh4.ggpht.com/-crInga_olaA/RsYYBZsINOI/AAAAAAAAABo/qww0I98IBMk/data_acquisition.jpg – pavelkolodin

답변

0

paintEvent()을 재정 의하여 맞춤 위젯을 만들어야합니다.
다음 위젯을 만드는 방법에 대해서는 this self-explanatory example을 살펴보십시오.

enter image description here

+0

맞춤 위젯과 같은 스펙트럼이 될 것입니다. Qt는 유용한 스크롤 기능을 제공 할 수 있습니까? 왜 맞춤 위젯이 필요한가요? 스크롤링 시설과 결합 된 기본 제공 드로잉 설비를 사용할 수 있습니까? 뭔가 (1) 메모리에 이미지를 그려라. (2) 그 이미지를 스크롤 영역에 넣는다. – pavelkolodin

+0

달성하고자하는 것이 사용자 정의 위젯에 속하기 때문에. 보이는 커스텀 Qt 위젯에 대해 말하고 있습니다. 그러므로 나는 당신에게 제가 선택한 것을 제공합니다. 커스텀 위젯이 스크롤 기능을 갖기를 원할 경우,'QAbstractScrollArea'에서 커스텀 위젯을 상속받을 수 있으므로 스크롤 영역과 스크롤 바가 위젯의 일부가됩니다. 그런 다음'paintEvent()'를 사용하여 이미지를 위젯 표시 영역 위에 놓습니다. 꽤 직설적 인. 물론 확대/축소 및 기타 기능을 구현하려면 몇 가지 추가 작업이 필요합니다. –

0

정상적인 QScrollArea 당신이 시간의 99 %를 원하는 당신을 줄 것이다. 그러나 잠재적으로 엄청난 크기의 비트 맵을 만들고 싶고 RAM에 저장하려고합니다. 공간이 부족할 것입니다.

이미지를 파일로 저장하고 스크롤 영역의 경계를 사용하여 파일의 내용 (파일 주위의 특정 크기)을 지능적으로로드해야 시스템이 필요합니다. Qt 이것을 제공하지 않습니다. 이것은 거의 획기적인 일이 아니므로 "매우 큰 이미지를 스크롤하는"웹 검색 또는 이와 유사한 것이 현명한 결과를 가져와야합니다.

0

당신의 의도가 STFT 데이터를 플롯하는 경우, 당신은 쉽게 QWT 라이브러리에있는 위젯 중 하나를 채택 할 수있다 : 어쨌든

http://qwt.sourceforge.net/

그것을 살펴보고, 그것의 훌륭한 소스입니다 영감과 코드를 사용할 수 있습니다 ...