Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

QtableWidget - .setText()/.text()

Bonjour,

J'ai un TableWidget que j'ai connecter à un signal "DoubleCliked" qui devrait me permetre de récupérer le choix de l'utilisateur lors qu'il selectionne une ligne via un double clique.
Ma fonction qui récupère le text est :

def returnSRID(self,row,column):
if column ==0:
column =1
srid_selected = self.tableWidget.item(row, column).text()
return srid_selected
#
Je souhaite afficher le text dans une LineEdit, le code est :

self.uisrid = ui_srid.Ui_Srid()
self.srid_selected =self.uisrid.returnSRID
self.lineEdit_srid.setText(str(self.srid_selected))
Ce qui s'affiche dans ma lineEdit est du type :

retour : <bound method Ui_Srid.returnSRID of <PostgisConnection.ui_srid.Ui_Srid object at 0x000000000E0162F0>>

Savez vous comment puis je juste avoir le text de ma la selection ds QtableWidget et non ce retour ?

Merci

Réponses

  • Bonjour,

    A mon avis, il manque des parenthèses à la fin de cette ligne pour que returnSRID retourne quelque chose. Mais il faudrait aussi passer les arguments row et col?:

    self.srid_selected =self.uisrid.returnSRID(row, column)
    J'avoue que je ne comprends pas la logique du code (à part s'il s'agit d'une spécificité de QGis): quand on doubleclique sur une case, le signal itemDoubleClicked est généré. La méthode (slot) qui est y est connectée reçoit en argument le QTableWidgetItem de la case doublecliquée. Et ce QTableWidgetItem donne un accès direct au texte affiché avec .text() qui, avec Python 2.7, renvoie un QString prêt à être affiché dans un QLineEdit.
  • Merci pour la réponse.

    En fait je fait un plugin pour QGIS et PostGIS (où plutôt je découvre depuis 1mois et demi cet univers). Je travaille sur la partie "remplissage" de la base de donnée. J'ai une interface où l'utilisateur choisi un fichier excel et il doit ensuite selectionner un srid pour spécifier le système de projection à utiliser dans PostGis car il n'est malheureusement pas spécifié dans l'excel.

    En gros l'utilisateur clique sur un bouton qui ouvre une fenêtre avec un tableau à deux colonnes (colonne 1 le label du srid et colonne 2 le code srid). Le but est de récupérer juste le srid pour PostGis et de l'afficher pour que l'utilisateur vérifie qu'il a bien selectionné le bon système de projection.

    Niveau code j'ai donc 2 classes qui représentent chacune une fenêtre. Je n'ai pas encore assez de recule pour savoir si c'est la solution la plus optimale ou si simple je me complique la vie(ce qui est souvent le cas ^^).

    Pour en revenir à mon problème, j'ai essayé ton conseil. Cela ne fonctionne pas car je suis pas dans la même classe, mais je vais continué à chercher un peu. L'affichage du srid reste "superflue" mais il m'aide à être sur d'avoir aucune erreur par la suite.
Connectez-vous ou Inscrivez-vous pour répondre.