ツールバーにハイパーリンクアイコンを表示したい

168 views
Skip to first unread message

AKIRA

unread,
Sep 28, 2023, 7:53:20 AM9/28/23
to QGIS初心者質問グループ

QGISのツールバーあるいは起動時のホーム画面にとあるWebページへのハイパーリンクのアイコンを表示させたいです。

(Webブラウザにおけるブックマークあるいはホーム画面と全く同じようなことをQGIS上でも表現したいです)


素人の推測で恐縮ですが

①プラグインビルダーを用いてプラグインとしてハイパーリンクをつける

② customizationfileなどを弄ってハイパーリンクをつける

のあたりで可能かと考えているのですが、入り口が皆目検討つかず、もし何かわかる方がいらっしゃれば是非とも教えて頂きたく存じます。


よろしくお願いします。

ありた

unread,
Sep 28, 2023, 10:07:47 AM9/28/23
to QGIS初心者質問グループ
こんにちは

ツールバーにアイコンを追加するのであれば、そういった処理の Python コードを
走らせればよいのですが、エンドユーザへの導入容易性などを考えると、おっしゃるとおり
プラグインの形で整備して、プラグインとして追加してやるのが無難のような気がします。

ただしプラグインとして読み込むには、プラグインの作法に沿う必要があります。
下記などご覧ください。



(本体の機能が大きいため、関連するところをつかむのが大変かもしれませんが)
参考として、ヘルプページへのリンクが含まれるプラグインの例です。

プラグインが読み込まれる際(プラグイン有効時、有効後 QGIS 起動時)に
162行目の initGui が実行され、メニューなどについて登録する処理が行われています。
263行目からの self.add_action で、メニュー追加 ( add_to_menu=True ) とともに
add_to_toolbarself.toolbar を指定することによりツールバーにも追加しています。
押下時に実行される処理は callback で指定しますが、 self.show_website
指定されています。

self.toolbar__init__ 内の105行目であらかじめ作成しています。
self.show_website は796行目で定義されています。
多くの場合、プラグインではこのような流れでツールバーへの登録がなされています。

AKIRA

unread,
Sep 28, 2023, 6:55:59 PM9/28/23
to QGIS初心者質問グループ


拙文にも関わらず、私の意図するところを汲み取っていただき、的確なアドバイスをありがとうございます。全ての参考ページを拝読させて頂きました。


Pythonも触れたことがない初級者ではありますが、

①プラグインビルダーで適当な(空の)プラグインを作成する

②作成された「〜.py」の「add_to_menu=True」の項に、いただいた例を参考に「self.show_website」を追加する

③インストール

という手順でできそうだ、と理解しました。


その他のプラグインのソースも拝見しつつ挑戦してみます!


迅速な回答、誠にありがとうございました、引き続きよろしくお願いいたします。

2023年9月28日木曜日 23:07:47 UTC+9 ありた:
Reply all
Reply to author
Forward
0 new messages