問題タブ [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.
qt - QListView の QWidgetDelegate の paint() メソッドで QWidget をレンダリングする
でカスタム ウィジェットのレンダリングを実装するのに問題がありQListView
ます。現在、に基づいてQListView
呼び出されたカスタム モデルを表示しています。PlayQueue
QAbstractListModel
これは単純なテキストでは問題なく機能しますが、各要素のカスタム ウィジェットを表示したいと考えています。したがって、次のようにメソッドQStyledItemDelegate
を実装するためにa をサブクラス化しました。paint
選択した背景は適切にレンダリングされますが、ウィジェットは表示されません。Qtの例のような簡単なQPainter
コマンドで試してみましたが、これはうまくいきます:
だから私は次のようないくつかの変更を試みました:
QStyledItemDelegate
に変更QItemDelegate
- レンダリングの追加
painter->save()
と周辺painter->restore()
- ウィジェット ジオメトリを使用可能なサイズに設定する
しかし、私は少し立ち往生しています。インターネットでしばらく検索しましたが、私が望むことを実行する例が見つかりません。それらはすべて、ウィジェットの編集 (はるかに簡単です) またはカスタム描画コントロール (事前定義されたもの) について話します、進行状況バーなど)。しかし、ここでは、いくつかのレイアウト、ラベル、およびピックスマップを含む、作成したカスタム ウィジェットが本当に必要です。ご協力いただきありがとうございます!
Ubuntu 11.04 で GCC に Qt 4.7.3 を使用しています。
qt - QPainter のパフォーマンスを改善するにはどうすればよいですか?
私は大きなディスプレイ (約 1000x2000 ピクセル) を持っており、画面に画像を描画するために次のことを行っています。
描画する画面が大きいほど、このペイントにかかる時間は長くなります。pImage は memcpy されていると思いますが、それが違いです。このオーバーヘッドを削減するにはどうすればよいですか? ここでスケーリングなどをしようとしているわけではありません。
ありがとう。
qt - QPainter は、ウィンドウがフォーカスを取得/失ったときに再描画します
私は Qt を学習しており、QPainter を使用して自分のプログラムの簡単な表示を描画しようとしています。
静的要素 (フレームなど) を一度描画し、その後は動的要素のみを更新します。
ウィンドウがフォーカスを失った場合を除いて、すべて正常に動作します。それが発生するとすぐに、領域全体がクリアされます (動的要素は以前と同じようにペイントされ続けます)。
この動作を防ぐことは可能ですか? そうでない場合、ウィンドウがフォーカスを失ったかどうかを判断するにはどうすればよいですか?
qt - 透明度のある QPixmap を描画する方法
QPixmap があり、QWidget に描画したいと思います。ただし、背景が下に見えるように、50%透明にしたいと思います。どうやってやるの?
c++ - Qtで変数を宣言してインスタンス化する方法は?
最初はこのばかげた質問をお詫びしたいと思いますが、私はQtにかなり慣れていないので、許してください;)
描いてQPixmaps
います。QPixmaps
しかし、パフォーマンスの問題については、一度だけロードして何度も使用したいと思います。現時点では、updateが呼び出されたときに常にロードしていますが、コンストラクターで1回だけロードできるはずです。.h
この場合、ファイルとQPixmap
変数の宣言はどのように見えますか?今のところそれを理解できませんでした。
python - QPushButtonを回転させる方法は?
私は---PythonとQt4---でQPushButton(または少なくともそのテキスト)を回転させて垂直に立てることができるようにしたいと思います。私はいくつかのドキュメントをオンラインで見ましたが、それを理解することはできませんでした---それはCであり、私はC-読み書きができません。
しかし、私が読んだことから、 paintEvent()ハンドラーを再実装し、 QPainter()をインスタンス化して回転させる必要があります。しかし、私が理解できないのは、必要な1つのQStringまたはQPushButtonに対してこれを行う方法です。QPaintEventには、シグナルと同様に「送信者」属性があると想定しましたが、そうではありません。このイベントから得られると思われるのは、QRectまたはQRegionだけです。
ボタンまたはそのラベルに固有のイベントを見つけるにはどうすればよいですか?
または、それが本当に問題なので、QPushButtonを回転させる方法は?
Mruは、QPushButtonを完全に再実装するC++の例を以下に示します。私はC++についての手がかりがなく、完全な再実装は本当に必要ないので、painEvent()
その例に基づいてPythonでハンドラーを再実装しようとしました。
これが私が翻訳したものですが、機能しません:\
qt - QPainterキャッシュは可能ですか?
大量の絵が必要なパイ型のウィジェットがあります。したがって、paintEventでペイントされたら、QPainterをキャッシュしたいと思います。後で再利用します。これを行うための直接またはハッキーな方法はありますか?