banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB