問題タブ [qpainter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
294 参照

forms - Qtでのピクセル操作による単純な形式

私はQtの初心者ですが、円を表示するだけでフォームのピクセルを操作できる800X600ウィンドウを作成したいと考えています。ユーザーとフォームの間に相互作用はありません(クリックなし、dblclickなし、...)それは1つの色のいくつかの円と異なるピクセル色の線を示しています(各線は異なるピクセル色を持っている可能性があります)また私は変更できるようにしたい調整システム、つまり、左上からウィンドウの中央に変更します。誰かが私がいくつかのサンプルコードでそれをするのを手伝ってくれるでしょうか?お返事ありがとうございます。

0 投票する
1 に答える
511 参照

qt - Qt、大きな QImage の一部のみを表示する低コストの方法

QImage 内の WAV ファイルの周波数スペクトルを描画します (例: http://savepic.net/2350314.jpg )。WAV ファイルは、十分な時間分解能を考慮すると、画面に収まらないほど長い場合があります。

おそらくファイルシステムの読み取り操作なしで、ファイル全体を十分に高速にsrcollできる必要があります。

したがって、高速スクロールのために大きな QImage をメモリに保持する必要があります。ユーザーが画面をスクロールするたびにQImage(QImages)を再描画する必要があるため、別の設計は遅くなります。

大きなQImageをメモリ(たとえば1024x50000)に保持する設計を想定すると、その大きなQImageの一部をプログラムウィンドウに表示できる必要があります。

コストが最も低いソリューションは何ですか? QScrollArea を使用するか、QPainter メソッド drawImage() をオフセット引数で使用しますか?

0 投票する
0 に答える
1438 参照

qt - QLabel に char* ビットマップを表示する最速の方法

IDS uEye ドライバーから rawchar*バッファーとして画像データを取得する画像処理アプリケーションを開発しています。この画像をユーザーに表示する必要があります。(私がQtを理解している限り、QLabelこの目的にはクラスを使用する必要があります)。char*また、バッファを直接変更するのが最も速いと思われる画像処理アルゴリズムについても説明する必要があります。

このアプローチでかなりの数のコード サンプルを見てきました。

whereimageはバッファQImageから構築されたです。char*

ただし、uEye デモ アプリケーションのソースで次のコードを見つけました。

wherePaintLabelは のサブクラスであり、QLabelをペイントする場所を示しています。rectangleQRectFimage

時間測定を行ったところ、2 番目のアプローチは約 1.8 倍高速であることが判明しました (約 9 ミリ秒対 16 ミリ秒)。

だから、私の質問は次のとおりです。ビットマップをさらに高速に表示する他の方法はありますchar*か?できるだけ高速に? これは 1 つの同じバッファーであることに注意してください。変化しているのはその内容だけです。そのため、フレームごとにすべてを最初から再構築する必要はありません。更新するだけです。

0 投票する
1 に答える
1692 参照

qt - スケーリングせずに QPixmap を回転させる

QDial のペイント イベントをオーバーライドし、イメージを表示して新しい外観にしています。ここで、現在の値に従って画像を回転させたいと思います。次のコードを使用して実行しています。

画像は回転しますが、異なるダイヤル値で異なるサイズにスケーリングされます。そのため、QDial I を回転させると、ダイヤルが伸びたり縮んだりします。

この問題を解決する方法を教えてください。

QDial の値ごとに画像を取得し、ノブの値に応じて画像を更新する方法がありますが、ノブの範囲が 0 ~ 1000 であるため、そうしたくありません。

ありがとう

0 投票する
1 に答える
409 参照

pyqt4 - 2 つの QPainter インスタンスで同時に QImage を描画する

私は PyQt4 でアプリケーションに取り組んでいます。

私のアプリケーションでは、2 つのソースからのデータに従って QImage を描画する必要があります
(たとえば、イメージを編集する不規則なタイミングで定期的に呼び出されるメソッドを想像してください)。

このためには、QPainter の 2 つのインスタンスを使用して QImage を編集する必要があり、両方が同時に画像を処理している可能性があります。

これは特別な処理をしなくても問題なく動作しますか?
いいえの場合、すべての同時編集が損失なくスムーズに行われるようにするには、どのような追加措置を講じる必要がありますか?

0 投票する
2 に答える
12357 参照

qt - Qtはどのように四角形の周りに境界線を引きますか?

QPainter の drawRect を使用するときに Qt がどのように境界線を作成するかを知りたいです。これは、3 つの長方形を並べて描画しようとしているのですが、すべてのペン サイズで完全に接触させるのに苦労しているためです。

0 投票する
1 に答える
1458 参照

qt - QTreeview コンテンツをペイントする方法

別の QWidget でレンダリングして印刷するために、QPixmap で QTreeview のコンテンツをペイントしようとしています。

現在、私のコードは次のようになります。

これは、QTreeview が既にユーザーに表示されている場合に非常にうまく機能します。ツリービューは、メイン ウィンドウのタブに表示されます。ユーザーがツリービューを表示し、上記のコードを実行するボタンをクリックすると、すべてのツリービューが QPixmap に表示されます。それ以外の場合は、ツリービューの一部のみが表示されます。

この問題を解決する方法を知っている人はいますか?

ありがとう

0 投票する
1 に答える
422 参照

python - PyQt4 描画とスリープ

上記のコードは、paintEvent の一部です。ここでの問題は、描画が四角形ごとに行われるのではなく、スリープ全体が完了するまで待機することです (つまり、sleep(.4)*len(trgx))。その後、すべての四角形を出力します。一緒に.どうすればこれを修正できますか??

0 投票する
1 に答える
4095 参照

qt - QPainterPath と線の交点 (QPainterPath y を x で検索)

QPainterPath があります。QPainterPath の y 座標を x で求める必要があります。

QPainterPath で intersected() メソッドを見つけました。そこで、交差点の結果としてポイントを見つけるために、パスの境界四角形の左端から右端までの線である新しい QPainterPath を作成しました。

intersects() メソッドは true を返します。しかし、intersected() は空のパスを返します。

line の代わりに height = 1 の rect を使用すると、すべてが機能します。

たぶん、QPainterPath と行の交差点を見つける方法をもっとよく知っているでしょうか?

0 投票する
1 に答える
6892 参照

python - PySide/PyQt で drawPolyline を使用してアニメーション ウェーブを作成する

ポリラインをアニメーション化しようとしています (波のように動作する必要があります)。私はこの方法を試しました:

しかし、それは機能していません!プログラムを実行すると、画面が乱雑になります。それはself.update()ウィンドウを更新しないようです。助けてください。