📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の2版が非表示)
428行目: 428行目:
     painter.drawPixmap(0, 0, pixmap);
     painter.drawPixmap(0, 0, pixmap);
  }
  }
</syntaxhighlight>
<br>
==== 画像の印刷解像度(dpi)を設定する ====
画像ファイルで見かける解像度は、印刷解像度である。<br>
すなわち、dpiとは紙上1インチに表現する画素数の値のことである。<br>
<br>
例えば、1440[px] x 1440[px]、72[dpi]の画像を印刷する場合、紙上のサイズは、1440[px] / 72[dpi] = 20[inch] = 508[mm]となる。<br>
<br>
以下の例では、上記の値を<code>QImage</code>クラスに設定して保存している。<br>
<syntaxhighlight lang="c++">
// ドット / メートルに変換(72dpiの場合)
int dpm = 72 / 0.0254;
// 水平方向と垂直方向を別個に指定できる
qimg.setDotsPerMeterX(dpm);
qimg.setDotsPerMeterY(dpm);
 
// dpiをファイル内に保持できるフォーマットのみ保存できる
qimg.save(arrPath, "JPEG", -1);
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
889行目: 908行目:
   
   
  MsgBox.exec();
  MsgBox.exec();
</syntaxhighlight>
<br><br>
== ステータスバー ==
ウインドウまたはダイアログにおいて、ステータスバーを表示する。<br>
<syntaxhighlight lang="c++">
#include <QStatusBar>
QStatusBar StatusBar;
StatusBar->showMessage(tr("ステータスを表示中..."));
</syntaxhighlight>
<br>
ステータスバーにプログレスバーを表示する場合、以下のように記述する。<br>
<syntaxhighlight lang="c++">
#include <QStatusBar>
QStatusBar StatusBar;
QProgressBar bar;
StatusBar->addWidget(&bar);
bar.setMinimum(0);
bar.setMaximum(100);
for(int i = 0; i < 100; i++)
{
    bar.setValue(i);
    // 以下に処理を記述
    // ...
}
StatusBar->removeWidget(&bar);
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>