2012-01-09 26 views
1

特定の信号処理機能を備えた簡単なサウンドエディタを実装する必要があります。 音声情報を縦に大きな画像 - 1024×[高さ]で表示したい。 私は、Webブラウザのスクロールに似た低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これを提供しません。これは画期的なものではないので、「非常に大きな画像をスクロールする」などのWeb検索では、賢明な結果が得られるはずです。

0

あなたの意図がSTFTデータをプロットすることであるならば、あなたは簡単にQWTライブラリ内のウィジェットのいずれかを採用することができます。

とにかく

http://qwt.sourceforge.net/

、それを見てみましょう、それはの偉大な源でありますインスピレーションとコードは利用可能です...

関連する問題