1

図面を .eps 形式で保存するプロジェクトで作業しています。

図面自体はウィジェット上にあります。出力画像のサイズを正しく設定できるように、ウィジェットのサイズをピクセルからミリメートルに変換する必要があります。

これは私が使用しているコードです:

int widthmm  = QApplication::desktop()->widthMM();
int heightmm = QApplication::desktop()->heightMM();
int widthpx  = QApplication::desktop()->width();
int heightpx = QApplication::desktop()->height();
QSize epsPictureSize;
epsPictureSize.setWidth((picture.width*widthmm)/widthpx);
epsPictureSize.setHeight((picture.height*heightmm)/heightpx);
epsPrinter.setPaperSize(epsPictureSize,QPrinter::Millimeter);

問題は、widthMMheightMMが信頼できず、誤った結果をもたらすことです。

物理的な測定値を正しく取得するには、クロスプラットフォーム ソリューションが必要です。

4

1 に答える 1

1

これらの機能はウィンドウ管理システムに問い合わせますが、通常はそれ自体がわかりません。かわいいGUIが必要な場合は、レイアウトマネージャーの使用方法を学びます。画面に絶対サイズのものを表示する必要がある場合(私が持っていた)、キャリブレーションを行う必要があります。線を表示し、ユーザーが正確に5cmになるまでサイズを変更できるようにします。

于 2011-11-30T13:43:08.933 に答える