Pages: 1
- Sujet précédent - QGIS 2.8 StandAlone QT : Lier un returnPressed à une QlineEdit - Sujet suivant
#1 Mon 23 March 2015 20:10
- LupSDE
- Juste Inscrit !
- Date d'inscription: 23 Mar 2015
- Messages: 1
QGIS 2.8 StandAlone QT : Lier un returnPressed à une QlineEdit
Bonjour,
Ne sachant pas exactement où poster ma demande, je me permets de la faire ici.
Je réalise actuellement une standAlone application avec comme base un .qgs et une interface QT. Le code ce fait en python.
Je souhaite lié un press Enter key à ma QlineEdit cependant après de multiple tentative rien n'y fait.
Aussi je vous soumet aujourd'hui mon problème en espérant que vous pourrez me donner des pistes intéressantes.
Code:
# --------INITIALISATION DE LA LINE EDIT -------------------------------------------------------------------------------------------------- def initialiseLineEdit(self): global selected, deselected completer = QCompleter() completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) self.lineEdit.setCompleter(completer) model = QStringListModel() completer.setModel(model) mListeOleron = [] layer = self.canvas.currentLayer() iters = layer.getFeatures() for feature in iters: x = self.trUtf8(feature.attribute("ident").toString().toUtf8()) mListeOleron.append(x) model.setStringList(mListeOleron) selection = self.lineEdit.selectedText() self.lineEdit.selectionChanged.connect(self.lineEditSelectionChanged)
Code:
#-------SELECTION D'UNE COUCHE A PARTIR DE LA LINE EDIT ----------------------------------------------------------------------------------- #balayer la table attributaire et tester si le nom est egal à celui de la lineEdit def lineEditSelectionChanged(self): global selected, deselected #self.lineEdit.selectionChanged.connect(self.lineEditSelectionChanged) # si la longueur du texte de la lineEdit est sup à 0, on rend cliquable les boutons, et on recherche l'égalité entre le texte et la table attributaire i = len(self.lineEdit.selectedText()) if i > 0: self.btnTabSelection.setEnabled(True) #self.btnTabZoom.setEnabled(True) #self.btnTabCenter.setEnabled(True) layer = self.canvas.currentLayer() iters = layer.getFeatures() selection = self.lineEdit.selectedText() for feature in iters: x = self.trUtf8(feature.attribute("ident").toString().toUtf8()) if selection == x: wid = QgsExpression("$id").evaluate(feature) layer.removeSelection() layer.select(wid.toInt()[0]) else: self.btnTabSelection.setEnabled(False) #self.btnTabZoom.setEnabled(False) #self.btnTabCenter.setEnabled(False) wid = ""
Hors ligne
#2 Thu 26 March 2015 13:39
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Re: QGIS 2.8 StandAlone QT : Lier un returnPressed à une QlineEdit
Bonjour,
Je ne suis pas certain de bien comprendre: quelle est précisément l'action recherchée?
je ne comprends pas l'action "press enter key"
merci pour vos explications supplémentaires qui permettront (peut-être;-)) de vous aider...
Sylvain
Hors ligne
Pages: 1
- Sujet précédent - QGIS 2.8 StandAlone QT : Lier un returnPressed à une QlineEdit - Sujet suivant