問題タブ [qpixmap]

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 に答える
773 参照

qt4 - QpaintEventで背景が繰り返されないようにする方法

paintEventがあり、何かをペイントするたびに背景を追加しています。問題は、画像の繰り返しを停止する必要があることです。

たとえば、背景画像が20ピクセルx 20ピクセルで、ペイント領域が40ピクセルx 40ピクセルの場合、背景は4つの画像であり、必要なのは1つだけです。

これが私のコードです。

助けてくれてありがとう!

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

qt4 - Qt-QListWidgetItemにアイコン画像を描画する方法

アイテムを追加したという点で、QListWidgetがあります。QWidgetで右から左にスクロールするようにQListWidgetItemsを作成しました。ここで、QWidgetでスクロールしているすべてのアイテムの前にアイコン画像を追加したいと思います。QWidgetでアイコン画像を描く方法は?Plzはあなたのソリューションを手伝ってくれます。前もって感謝します。

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

c++ - Qt QLabel setPixmap 不要なパディング

QSizePolicy::Expandingで画像を表示したい両方の次元でsizepolicy を持つ QLabel がありQLabel::setPixmapます。メインウィンドウのサイズを変更しないでください。そのため、QLabel のサイズに設定する前にピックスマップをスケーリングします。

画像は正しく設定されていますが、上部と下部には、上部 12px、下部 13px の不要なパディングがあります。-setPixmapコマンドは、QLabel とメインウィンドウのサイズを変更します。理由がわかりません。QLabel のスタイルシートが空です。QLabel-background に色を付けて、余分なスペースが QLabel のパディング (またはピックスマップのマージン) であることを確認できます。メインウィンドウのサイズを変更しようとすると、この余分な境界線が消えるほど小さくすることはできません。拡大すると、パディングがすべての側面で増加します (予想どおり)。しかし、小さくして取り除くことはできません。この余分なマージン。

誰がこれを引き起こす可能性があるか知っていますか?

編集:

いくつかのコードを追加しました。これらの行の前ui->label_titleは空label_titleで、 のすぐ上にある同じ垂直レイアウトになっていlabel_mainます。一部のテキストが label_title に設定されている場合、レイアウトはまだ更新されていないため、次の行は古いサイズを返し、タイトルがスペースを取り、メインウィンドウのサイズを変更する必要があるため、画像が大きすぎると思いました。レイアウトを更新するコマンドはありますか? その中のすべてのウィジェットが新しいサイズになりますか? layout->update();うまくいきませんでした。

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

image - QT4: QPainter::CompositionMode は、背景が白い 2 つのピックスマップをマージして、前景の 2 つのコンテンツを混合するのに適しています

QPainter を使用してピックスマップを別のピックスマップに配置しています。ピックスマップには白い BG があります。私は結果が白い BG の pixmap であってほしいと思っています。「融合」イメージを作りたい。

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

qt - C ++Qt-QPixmapはQtCreatorではロードされませんが、ターミナル経由で実行するとロードされます

Qtを使用してGUIをコーディングしています。を使用してアプリケーションを実行するQtCreatorと、画像が読み込まれず、次のエラーが発生します。

それでも、コマンドラインからアプリケーションを実行すると、すべてが完全に表示されます。

なぜそうなのか?また、どうすればQtCreator画像を正しく読み込むことができますか?

注意:これらの画像はそれぞれ20ko程度であるため、画像が大きすぎることについて私が読んだことは当てはまりません。

編集:典型的なファイル名はです'Images/Cards/Base/card01.jpg'。ここImagesで、は私のプロジェクトディレクトリのサブディレクトリです(コードはルートにあります)

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

c++ - この特定の PNG を QPixmap にロードできないのはなぜですか?

この png を QPixmap にロードできないのはなぜですか? ストリートマップpngを開く

これは ASSERT をレンダリングします。

MSペイントで開いて、jpegまたはpngとして再保存すると、ASSERTがレンダリングされません(ただし、サイズは大きくなります)。同じパスと構文。

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

python - pyqt:QPixmapをStringIOに保存しますか?

QPixmap imagebiahttpをPOSTしようとしています。そのためには、QPixmapを一時ファイルに保存し、Pythonファイルクラスとして読み取って、POSTを実行する必要があります。しかし、QPixmapをPOSTする別の方法があると思います。推測すると、QPixmapはStringIO(または他の何か)に保存し、それを使用してPOSTを実行できます。

現在、私はそのように書いています。

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

c++ - QPushButton シグナルを介して QLabel setPixmap() を変更する

ボタンが押されたときに画像を表示する簡単なプログラムを書いています。私は Qt に非常に慣れていないため、問題が発生している場所を特定することができません。

クラス宣言:

そして最後に主な機能:

私が抱えている最初の問題は、レイアウトが正しく設定されていないことです。次に、コマンド ラインは、switchImages() が 2 つの SLOT ではないことを警告します。奇妙なことに、同じ警告は表示されません。実行時にウィジェットが読み込まれないため、接続がまったく機能しているかどうかはよくわかりません。

どんな助けでも大歓迎です、ありがとう。

0 投票する
3 に答える
3937 参照

c++ - 大きなQImageの問題

私はC++/ Qtにかなり慣れていないので、Visual Studio C ++とQt(4.8.3)を使用してアプリケーションを作成しようとしています。アプリケーションはQGraphicsViewを使用して画像を表示します。画像をピクセルレベルで変更する必要があります。

基本的なコードは(簡略化)です:

これは、約12000x6000ピクセルまでの画像に適しています。このサイズを超えると奇妙なことが起こります。たとえば、を設定するimg_width=16000と、その行はnull画像を返します。画像データは約512,000,000バイトである必要があるため、32ビットシステムでも大きすぎないようにする必要があります。また、私のマシン(Win 7 64ビット、8 GB RAM)はデータを保持できる必要があります。img_height=8000img = new QImage(...)

私もこのバージョンを試しました:

最初は、これは機能します。imgポインターは有効でありimg->width()、たとえば呼び出すと、正しい画像幅が返されます(画像ポインターがnullの場合は0ではありません)。しかし、を呼び出すとすぐにimg->setPixel()、ポインタはnullになり、img->width()0を返します。

だから私は何が間違っているのですか?または、ピクセルレベルで大きな画像を変更するより良い方法はありますか?

よろしく、デビッド

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

python - PyQtを使用してQGraphicsViewのQPixmapを更新する方法

QGraphicsView内のQPixmapにペイントしようとしています。ペイントは正常に機能しますが、QGraphicsViewはそれを更新しません。

いくつかの動作するコードは次のとおりです。

mousePressEventQPixmapでいくつかのペイントを行います。しかし、表示を更新するために私が見つけた唯一の解決策は、新しいインスタンスを作成することです(これは良い解決策ではありません)。

どうすれば更新できますか?