1
QGIS Measure Toolから距離を取得していますか?
入力マスクを使用してSpatialiteデータベースにフィードするプラグインを作成しました。オブジェクトの最小/最大次元を表す2つのフィールドがあります。 iface.actionMeasure().trigger()2つのプッシュボタン「メジャー」でメジャーツール()を呼び出した瞬間に、寸法をクリックし、キーボードでフィールドに値を入力します(QLineEdit)。 測定ツールで右クリック(測定の終了)を行った後、値が自動的にフィールド(最小または最大、QLineEdit)にコミットされる可能性はありますか? 測定ツールの呼び出し(動作します) 左クリック:測定を開始 4.一度に:右クリックして、測定ツールの合計値を最小フィールド(QLineEdit)にコミットします。 更新1: この質問をしたある日、メジャーツール(ST_Length(geom))として使用できるラインストリングレイヤーを作成するというアイデアを思いつきました。利点は、そこからデータを操作および取得することを完全に制御できることです。短所は、プロジェクトに追加の層があることです。 ワークフローは次のとおりです。 測定をクリック:編集を切り替え、「機能を追加」を有効にします オブジェクトの最小寸法を表す線ストリングを作成します 変更の確認、ラインストリングの長さの計算(ST_Length(geom))、QLineEditへの長さのコミット ダイアログを閉じてラインストリングを削除(DELETE FROM) しかし、私の実際の質問は残っています。測定ツールから直接距離値を取得する方法はありますか? アップデート2: Jakobの助けを借りて、Measure Tool を閉じるまで、Measure ToolのTotal値でQLineEditを更新できます。次に、値は「0,000 m」に設定されます。私はこれを使用してこの問題を解決しました: def text_changed(str_measure): if str_measure == '0,000 m': pass else: self.min.setText(str_measure) 動作しますが、これが適切な解決策であるかどうかはわかりません。