Qtで完全なダイアログやウィンドウを印刷するにはどうすればよいですか? xwd
のような外部プログラムを使ってウィンドウの内容をダンプして印刷することができますが、Qtを使ってすべてを行うことをお勧めします。Qtダイアログまたはウィンドウを印刷するには?
4
A
答えて
8
あなたは、本質的に、ダイアログのピックスマップ表現を取得するためにgrabWidgetを使用することができますがpixmapのピクセルを印刷します。つまり、ダイアログには画面の解像度がラスタライズされ、プリンタの解像度にスケーリングされます。これによりアーティファクトが発生する場合もあれば、発生しない場合もあります。
これを行うもう1つの方法は、塗料デバイスを使用するQWidget::render()関数を使用することです。この方法で、プリンタをペイントデバイスとして渡すことができます。このダイアログは、プリンタの解像度でプリンタに「描画」されるようになりました。
8
QPixmap::grabWidget(または外部ウィンドウの場合はQPixmap::grabWindow)を使用してください。このような 何か:
QPixmap pix = QPixmap::grabWidget(myMainWindowWidget);
知らんあなたが本当にそうであれば、それをプリンタに印刷することを意味する場合:
QPrinter printer(QPrinter::HighResolution);
QPainter painter;
painter.begin(&printer);
painter.drawPixmap (0, 0, &pix);
painter.end();
関連する問題
- 1. 印刷ダイアログでJavaでPDFファイルを印刷するには
- 2. 印刷する前にカスタム印刷ダイアログを作成する
- 3. 新しいウィンドウを開き、そのウィンドウの印刷ダイアログを表示したい
- 4. SSRSを使用せずに印刷する印刷ダイアログ
- 5. 印刷ダイアログを表示しないでWebブラウザから印刷するには?
- 6. Qtで印刷するシート
- 7. [印刷]ダイアログで[印刷]をクリックしたときのイベント
- 8. ウィンドウをトリガーする方法サーバー側(asp.net)からダイアログを印刷しますか?
- 9. printDocument.print()での印刷ダイアログをスキップし、ページを直接印刷する方法は?
- 10. Windowsシステムで印刷ダイアログをスキップし、ページを直接印刷する方法は?
- 11. 印刷ダイアログを非表示
- 12. printpreviewdialogに印刷ダイアログを追加するには?
- 13. レポートビューアまたはC#.Netの任意の印刷ダイアログなしでrdlcレポートを印刷する方法
- 14. pdfobjectで印刷ダイアログを表示せずに直接印刷
- 15. QTを使ったpdfへの印刷
- 16. Qtでプリンタにテキストファイルを印刷するには?
- 17. 印刷ダイアログを使わずにSwingコンポーネントを印刷することはできますか?
- 18. Windowsの印刷ダイアログを無効にする方法は?
- 19. Java Web App - 印刷時に印刷ダイアログを非表示にする
- 20. Qtで.xlsx形式を印刷するには?
- 21. 印刷ダイアログを開かずにIEからWord文書を印刷する
- 22. 印刷ダイアログを使用してコントロールからテキストを印刷
- 23. Qtの印刷 - QFontMetricsクラス
- 24. window.printをプレビューで印刷ダイアログをポップアップする方法は?
- 25. Pythonはウィンドウの最後に印刷します
- 26. 出力ウィンドウのスタックトレースを印刷する
- 27. MVCのサーマルプリンタの印刷ダイアログなしで直接印刷。
- 28. WinRT Metro App直接印刷(印刷ダイアログなし)
- 29. .net WebBrowserコントロールと印刷ダイアログでのバッチ印刷
- 30. Chromeの印刷ダイアログ閉じる
pix.grabWidget(myMainWindowWidget)が失敗します。 私は以下を使用する必要があります。 QPixmap pix = QPixmap :: grabWidget(myMainWindowWidget); – PiedPiper
ああ、それは静的な方法だから。私は私の答えを編集しました。 –
QPixmap :: grabWidgetは私が必要としていたものの十分なものでしたが、AriyaのソリューションQWidget :: render()はさらに優れています – PiedPiper