問題タブ [qprinter]
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 - QPrinter で PDF に印刷すると QPainter がクラッシュする
クラスQPrinterおよびQPainterを使用して、Windows 仮想デバイスで PDF ファイルに印刷しています。QPainterオブジェクトは、PDF ファイルのパスと名前を入力できるダイアログ ウィンドウを開きます。
意図した用途では正しく機能します。ただし、ダイアログで [キャンセル] ボタンを押すと、アプリケーションがクラッシュします。エラーを再現するコード スニペットを次に示します。
[キャンセル] ボタンを押すと、 QPainter::begin()の呼び出し中にアプリケーションがクラッシュします。何か不足していますか?その方法にバグがある可能性はありますか?
更新: QPainter::begin() への呼び出しを try-catch で保護しても、クラッシュは防止されませんでした:
qt - QPrinter を使用してプロッターに非常に大きな画像を印刷する
Qtベースのアプリから、多くのベクターデータを含むプロッターの世界地図に印刷する必要があります。Plotter には 80 GB のハード ドライブがあり、高解像度のイメージを印刷できます。すべてのデータは QGraphicsScene にロードされます。
A4は、テスト中の速度を向上させるために使用しています。
ベクターデータをロードした後、水平ストリップでタイル(256x256 px)をロードし、ストリップをペインターにレンダリングし、シーンからタイルをクリアします。ストリップシーンでレンダリングしているため、使用可能なメモリを超えていませんが、QPainter は削除されるまでデータをプリンターに送信しません。そのため、アプリはすぐにメモリ不足になります。各サイクルステップで QPainter::end() を呼び出す機会がありますが、この方法では各ストリップが通常のプリンターの異なるページに印刷されるため、プロッターのナイフを制御できなくなるとすぐに、プロッターは各ストリップをカットすると思います. したがって、これは解決策ではありません。QPainter にデータを送信させてキャッシュをクリアさせながら、同じ印刷セッションを維持するにはどうすればよいですか?
c++ - Cutting labels on a label printer to the correct size in Qt/C++?
I have a Brother QL700 label printer. I want to print a BarCode on this printer. I have successfully generated a barcode in code 39 format in QString
and display this barcode on a QLabel->setText(QString)
. Now I want to print this barcode on a label printer. I am doing the following things but it does not give me the desired result.
This code will print the barcode on the label printer, but does not cut the paper after 45 mm. It cuts the paper at 297mm (i.e. in A4 size of 210x297mm).
That means the printer assumes that the size of paper is QPrinter::A4
but I have given it a custom size. It should be printed using the size I specified, but it's not happening.
How can I properly tell the label printer to use the specified paper size so that it will cut the printed labels correctly?
printing - png を印刷するとピクセル化されます
テキストと R.png ファイルがあります。これらは、PDFファイルと「実際の」プリンターに印刷したいと考えています。
私は次のコードでそれを行います:
ピクセル化された R.png ファイルを除いて、これは正常に機能します。
draw メソッドに次の行を追加して、問題を解決しようとしていました。
その後、作成された pdf は正常に見えますが、印刷されたファイルはまだピクセル化されています。添付の画像「setDevicePixelRatioで印刷されたpdf」と「setDevicePixelRatioで作成されたpdf」をご覧ください。
ここで私が間違っていることを誰か教えてください。
プリンタードライバーで解像度を変更してこの問題を解決しようとしましたが、うまくいきませんでした。私にとって奇妙なことは、Elipse がどのような場合でも問題なく見えることです。
残念ながら、添付の R.png は、私の問題を示すための単なる例です。文字だけの描画では置き換えられません。
事前に助けてくれてありがとう!
setDevicePixelRatio で印刷された PDF setDevicePixelRatio で 作成された PDF
c++ - QStringListModel コンテンツを印刷するにはどうすればよいですか?
QStringListModel の内容を 'void MainWindow::on_pbImprime_clicked()' でプリンターに出力する必要があります。問題なく Qstring を出力していますが、QStringListModel のデータを QString テキストに配置する方法がわかりません。アイディアがある?
これが私のコードです:
私の悪い英語で申し訳ありません。助けてくれてありがとう。
c++ - QThread および QPrinter 使用時のメモリ リーク
私はQThread
印刷作業に使用していますQPrinter
私PrintWorker
はこのように見えます:
そしてprint
方法はこれです:
アプリを呼び出す前にprint()
、印刷後に約 9MB のメモリが公開されPrintWorker::print()
、アプリのメモリ使用量が 26MB になりました
emit done
別の世界では、最後の部分を削除しPrintWorker::print()
ても問題はありません。
ジョブの終了後に予想されるのは、メモリ使用量が 26MB に減少することです - スレッド スペース + _printer
+_printDialog
オブジェクト サイズ ≈ 14MB
では、これの何が問題なのですか?