画像の使い方画像として使用
ラベルにpixmapを表示します。
label->setPixmap(pixmap);
※最大サイズはlast()、最小サイズはfirst()で取り出します。 アイコンとして使用
ウインドウのタイトルバーのアイコンにiconをセットします。
setWindowIcon(icon);
カーソルとして使用
ラベル上にカーソルがある時はcursorを表示します。
label->setCursor(cursor);
画像の伸縮ラベルの画像
ラベルはサイズ変更に自動的に対応します。
右がtrueの場合です。縦横比を無視してサイズいっぱいに画像が表示されます。
プッシュボタンの画像
アイコンとテキストが表示できます。
アイコンの位置は固定でテキストの左側になります。
プッシュボタンのサイズが変わってもアイコンの大きさは変わりません。 アイコンのサイズは指定できます。 アイコンのサイズを指定しないと画像のサイズで表示されます。 ツールボタンの画像
アイコンとテキストが表示できます。ツールボタンは常に固定サイズになります。
アイコンの位置はテキストの左か下を指定できます。アイコンのサイズも指定できます。 アイコンのサイズを指定しないと画像のサイズで表示されます。 プッシュボタンと違って、スタイルを指定しないとアイコンだけ表示されます。
画像の伸縮
Pixmapは縦横比を保ったままサイズ変更できます。
テスト用のラベルとPixmapを作ります。
ラベルにPixmapをセットする4つの方法です。
何も指定しないと画像サイズになるので、右と下に余白ができます。
縦と横のサイズを指定すると縦横比が崩れた画像になります。 高さを指定すると右に余白ができ、幅を指定すると下の部分が切れます。 背景画像ラベルの背景画像
スタイルシートで背景の色と画像のタイル表示ができます。
※テキスト文字や表示位置はsetTextやsetAlignmentで設定します。
no-repeatを省略するとタイル表示になります。background-sizeは指定できないようです。
ボックスタイプのウィジェットは大体同じように背景が設定できるようです。
※スタイルシート関連は「装飾とスタイル」参照。 境界画像フレーム画像
背景画像ではなく境界画像を指定するとサイズ変更に対応した枠の表示ができます。
一番左の画像がborder.pngです。黒い部分が透過の画像だと背景色と背景画像が見えます。
repeatを指定しないと引き伸ばした形になります。 元の画像を9分割して組み合わせることで境界線の長さの変化に対応しています。 緑の部分がborder-widthで指定した27pxの境界です。 ②④⑥⑧の画像はタイプに従って引き伸ばしたりタイル状に敷き詰めたりします。 border-imageの幅27を54に変更すると、左上・右上・左下・右下の四隅は次のようになります。 ①+②+④+⑤、②+③+⑤+⑥、④+⑤+⑦+⑧、⑤+⑥+⑧+⑨ 上下左右の境界画像は、②④⑥⑧に対応する部分が足りなくなるので表示されません。 border-imageは最初に画像データを指定する必要があるようです。 他はどちらが先でも大丈夫です。
roundは②を何個表示できるか計算し、均等になるように②の幅を伸縮します。端数は四捨五入です。 プッシュボタンのフレーム
背景としてフレーム画像を指定すると、ボタンのサイズ変更に対応できません。
境界としてフレーム画像を指定すれば、ボタンのサイズ変更に対応できます。
XPM形式の画像XPMデータ作成
XPM形式のデータテーブルから、Pixmapを作ることができます。
一時的に小さい画像を使いたい場合は便利かもしれません。 XPM形式では1行目にデータの情報を記述します。 幅 高さ 色数 1ドットの桁数 ホットスポットXY座標 2行目から、文字と対応する色の指定を1色1行で記述します。その後にドット画を記述します。 XPM形式のデータテーブルの例です。 ※画像サイズは16×16で1ドットは半角1桁で表します。 ※使用する色は5色で、スペースが透明(None)、Aが緑、aが青、#が赤、3が黒です。 ※ホットスポットのXY座標は(7,7)です。これは省略できます。 XPMデータの使い方
XPM形式のデータから、プッシュボタンのアイコンとカーソルを設定します。
標準の画像標準Pixmap
標準Cursor
※画像ファイルや標準Pixmapから作ったカーソルは、Pixmapを取り出せます。 |
2016年12月
Copyright © 2016 dorafop All Rights Reserved.