diff --git a/dem_to_csmap.py b/dem_to_csmap.py index fda00e4..a90bd86 100644 --- a/dem_to_csmap.py +++ b/dem_to_csmap.py @@ -1,7 +1,8 @@ import os -from PyQt5.QtWidgets import QDialog, QMessageBox +from PyQt5.QtWidgets import QDialog from qgis.PyQt import uic +from qgis.gui import QgsFileWidget from csmap_py.csmap import process @@ -13,22 +14,25 @@ def __init__(self): os.path.join(os.path.dirname(__file__), "dem_to_csmap.ui"), self ) + # ウィンドウタイトル + self.setWindowTitle("CSMap Plugin") + # ラスタデータのみ選択(現状tifのみにしています) + self.ui.mQgsFileWidget.setFilter('*.tif') + # 出力先をフォルダに指定 + self.ui.mQgsFileWidget_.setStorageMode(1) + self.ui.pushButton_run.clicked.connect(self.get_and_show_input_text) self.ui.pushButton_cancel.clicked.connect(self.close) def get_and_show_input_text(self): - # テキストボックス値取得 - text_value = self.ui.lineEdit.text() - # テキストボックス値をメッセージ表示 - QMessageBox.information(None, "ウィンドウ名", text_value) - - # 試しにCSMapの処理を実行:ちゃんと入力・出力をUIから参照しよう params = process.CsmapParams() - input_path = "/Users/kanahiro/Downloads/dem.tif" - output_path = "/Users/kanahiro/Downloads/out.tif" + + # 入力・出力をUIで操作 + input_path = self.ui.mQgsFileWidget.filePath() + output_path = self.ui.mQgsFileWidget_.filePath() process.process( input_path, - output_path, - 256, + output_path=os.path.join(output_path, 'csmap.tif'), + chunk_size=256, params=params, ) diff --git a/dem_to_csmap.ui b/dem_to_csmap.ui index ba1b046..f5f521d 100644 --- a/dem_to_csmap.ui +++ b/dem_to_csmap.ui @@ -6,8 +6,8 @@ 0 0 - 318 - 68 + 357 + 168 @@ -15,28 +15,38 @@ - - - - 300 - 0 - + + + 入力レイヤ + + + + + + + 出力レイヤ + + + + + + - OK + Run - キャンセル + Cancel @@ -44,6 +54,13 @@ + + + QgsFileWidget + QWidget +
qgsfilewidget.h
+
+