ログの出力
from qgis.core import *
QgsMessageLog.logMessage(“__init__”, ‘test plugin’, Qgis.Info)
メッセージレベルの定数が変更
ダイアログのカスタマイズ
QT Creatorでtest_plugin_dialog_base.uiを開きボタン「btnTest」を追加
通常はQT Creator上でbtnTestのシグナルとスロットの設定を行う。
今回はプログラムで対応。
test_plugin_dialog.pyを編集
[code]
class TestPluginDialog(QtWidgets.QDialog, FORM_CLASS):
def __init__(self, parent=None):
"""Constructor."""
super(TestPluginDialog, self).__init__(parent)
# Set up the user interface from Designer.
# After setupUI you can access any designer object by doing
# self.<objectname>, and you can use autoconnect slots – see
# http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
# #widgets-and-dialogs-with-auto-connect
self.setupUi(self)
self.btnTest.clicked.connect(self.pushButton)
def pushButton(self):
self.close()
[/code]
以上の編集を終了したらQGIS再起動で動作確認(makeは不要)
pyQt4の頃はself.btnTestではなくself.ui.btnTestだったような
スロットの前には@pyqtSlot()を付けたような
レイヤの一覧を出力
ボタンが押されたらレイヤの一覧をログに出力
[code]
def pushButton(self):
for layer in QgsProject.instance().mapLayers().values():
QgsMessageLog.logMessage(layer.name(), ‘test plugin’, Qgis.Info)
[/code]



