Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#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