ユーザーがQGIS処理スクリプト入力パラメーターの2つのオプションから選択できるようにしますか?


8

2つまたは3つのオプションを表示するドロップダウンボックスを作成し、ユーザーがそれらから1つを選択できるようにしたいですか?

ユーザーに「ミリ」、「センチ」、「メートル」から選択してもらいたい。これらのオプションは、入力フィールドからのものではありません。

ここではそれらのどれも有効ではないようです:

ここではどれも有効ではないようです

回答:


5

GermánCarrilloの答えが最も便利です。可能な代替策(QGIS 2.8に悩まされている場合)は次のとおりです。

  • 使用する文字列をユーザーが、彼らが使用する単位を入力することができます:

    ##units=string mm
    
    if units == 'mm':
        # Do something
    elif units == 'cm':
        # Do something
    elif units == 'm':
        # Do something

    テキスト単位


  • または、3つのブールチェックボックスを使用します。

    ##Millimeter=boolean
    ##Centimeter=boolean
    ##Meter=boolean
    
    if Millimeter == True:
        # Do something
    elif Centimeter == True:
        # Do something
    elif Meter == True:
        # Do something

    チェックボックスユニット


9

QGIS v2.8に限定されていない場合(スクリーンショットはv2.8のドキュメントを示しています)、新しいバージョンをインストールできます。たとえば、QGIS v2.14では、selection使用可能なパラメータータイプがあります(ドキュメントを参照)。

ここに画像の説明を入力してください

スクリプトのヘッダーでこのように使用して、オプションをセミコロンで区切ることができます。

##Units=selection Millimeter;Centimeter;Meter

スクリプトの後半では、次の方法で選択した値を取得できます。

if Units == 0:
    # User chose millimeter
elif Units == 1:
    # User chose centimeter
elif Units == 2:
    # User chose meter

参考までに、ここにスクリプト例があります


ありがとうございましたが、QGIS v2.8に限定されています。v2.8でそれを行う方法はありますか?
チェンホパン16

0

選択オプションはありません QGIS 2.18.2(ラス・パルマス)の作業を。選択パラメーターは、0から始まる整数値(文字列値ではなく)を取得することに注意してください。これは、(GermánCarrilloの回答のように)選択範囲に書き込むときの文字列の順序に対応します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.