waigani's diary

QGISを中心にFOSS4Gをいじくる

使おうと思ってまだ使ってないQGISの機能

FOSS4G Advent Calendar 2012の1日目です

今年もFOSS4G Advent Calendar行います。
去年の様子はこちらを御覧ください。
今年は小ネタから。いつか使おうと思いつつ、使ってない機能をご紹介。と言っても開発版で追加されている機能です。

Project Macros

QGIS 1.9の"設定"→"プロジェクトのプロパティ"で"Macros"タブを表示してみましょう。

なんだこれ?と思われるかもしれませんが、Project Macrosという、プロジェクトを

  • 開く
  • 保存
  • 閉じる

際にPythonコードを実行することが出来るようになった機能です。
"Python Macros"にチェックを入れると、書き込めるようになります。

例えば

開く際の動作として、こんなコードを書いてみます。

def openProject():
    import qgis.gui
    view = qgis.gui.QgsMessageViewer()
    view.setMessage(u"開くときにメッセージ出せるよ", qgis.core.QgsMessageOutput.MessageText)
    view.showMessage(True)

すると、プロジェクトを開く際にこんな感じでメッセージを表示出来たりします。

ちなみに、保存したプロジェクトファイルに埋め込まれますので、テキストエディタ等で埋め込まれたコードを直接いじることも出来ます。このようなタグで埋め込まれています。

        
            def openProject():
    import qgis.gui
    view = qgis.gui.QgsMessageViewer()
    view.setMessage(u"開くときにメッセージ出せるよ", qgis.core.QgsMessageOutput.MessageText)
    view.showMessage(True)

def saveProject():
    pass

def closeProject():
    pass

        

注意事項

いきなり実行されるとセキュリティ上よろしくないということで、ワーニングが出ますのでご注意を。

でもこれが出ちゃうってことは無視も出来るので、意味ないのかな・・・

何に使うの?

前述の開く際にメッセージを出すのに使うとか、使わない機能を隠しちゃうとか、色々思いつきますが、まだ使う場面に遭遇したことございません。

以上、使おうと思ってまだ使ってないQGISの機能でした。