Message posté par : nico-29
----------------------------------------
Bonjour,
Dans QGIS3, j'ai crée un plugin via Plugin Builder. Dans mon interface du plugin, je
met un bouton et je voudrais écrire l'action à réaliser quand je clique sur le
bouton.
J'ai compilé le fichier .ui pour avoir le fichier .py, et je modifie le fichier .py .
Voici le fichier modifié ;
-----------------
Code :
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_DroneDialogBase(object):
def setupUi(self, DroneDialogBase):
DroneDialogBase.setObjectName("DroneDialogBase")
DroneDialogBase.resize(400, 300)
self.button_box = QtWidgets.QDialogButtonBox(DroneDialogBase)
self.button_box.setGeometry(QtCore.QRect(30, 240, 341, 32))
self.button_box.setOrientation(QtCore.Qt.Horizontal)
self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.button_box.setObjectName("button_box")
self.pushButton = QtWidgets.QPushButton(DroneDialogBase)
self.pushButton.setGeometry(QtCore.QRect(250, 120, 93, 28))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.buttonClicked)
self.retranslateUi(DroneDialogBase)
self.button_box.accepted.connect(DroneDialogBase.accept)
self.button_box.rejected.connect(DroneDialogBase.reject)
self.pushButton.clicked.connect(DroneDialogBase.exec)
QtCore.QMetaObject.connectSlotsByName(DroneDialogBase)
def retranslateUi(self, DroneDialogBase):
_translate = QtCore.QCoreApplication.translate
DroneDialogBase.setWindowTitle(_translate("DroneDialogBase",
"Drone"))
self.pushButton.setText(_translate("DroneDialogBase",
"PushButton"))
def buttonClicked(self):
self.pushButton.setText(' was pressed')
print("OK")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
DroneDialogBase = QtWidgets.QDialog()
ui = Ui_DroneDialogBase()
ui.setupUi(DroneDialogBase)
DroneDialogBase.show()
sys.exit(app.exec_())
-----------------
Mais quand je clique sur le bouton, il ne se passe rien.
D'autre part, dans la manière de développer, il faut d'abord bien installer les
composants, compiler le .ui en .py, et ensuite écrire les événements sur les composants?
Parce que si on rajoute un composant "après coup", ça réinitialise tout le
fichier .py quand on recompile le .ui en .py ...
Désolé si le problème peut paraitre banal, mais c'est mon premier tes dans
l'écriture d'un plugin QGIS.
Merci,
Nico
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=332086#p332086
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net