QGISでベクトルデータを表示してみる その8
ラベルを付けてみます。
単純にラベルをONにするのは簡単。レイヤーを持ってきて、ラベル表示のフラグをたててあげるだけです。
l = qgis.utils.iface.activeLayer() l.enableLabels(True) qgis.utils.iface.mapCanvas().refresh()
レイヤーのプロパティを開いてみると、"デフォルトラベル"の項目に"ラベル"と入っています。これが表示されている状態です。
QgsLabelクラス、QgsLabelAttributesクラスを使って他の項目を設定できます。
featureのどの属性値を表示するかを指定するには、setLabelField()を使えます。最初の引数が設定する項目を、2番目の引数が設定する値になります。
下記では、4番目(0から数えるので)の属性を表示するように設定しています。
l.label().setLabelField(0,3)
サイズとかBOLDとか設定出来ます。
l.label().layerAttributes().setBold(True) l.label().layerAttributes().setSize(16.0,1)
いまいち使いこなしてないような気がします。
ソースみながらではないと進まなくなってきました。
少し開発環境の整理もしなくては。