Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupération QLineEdit dans une variable

Sujet résolu
    4 mars 2016 à 22:36:00

    Bonjour a tous,

    Je doit faire un programme graphique en Python couplé avec du Qt pour un projet scolaire (les langages sont imposés je ne peut donc pas utiliser d'autres moteur graphique (Tkinter ou autre)).

    La technique utilisée est la suivante :

    - je crée visuellement mon interface graphique avec QtDesigner.

    - je converti mon fichier en python avec Pyuic

    - Je crée un nouveau fichier python dans lequel j'applique des actions a mon interface graphique grâce à des classes et des objets, comme ça dans le cas ou mon interface est modifier je ne perd pas mes actions.

    Le problème est le suivant :

    J'ai sur mon interface graphique, une zone de recherche, pour l'instant mon programme récupère ce qu'il y a dedans et l'affiche dans un label, maintenant je souhaite récupérer ce que l'utilisateur écrit dedans dans une variable, comment modifier mon programme pour y arriver.

    Voici mon interface convertie en python :

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'test.ui'
    #
    # Created: Mon Feb 29 17:22:00 2016
    #      by: PyQt4 UI code generator 4.9.6
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt4 import QtCore, QtGui
    
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        def _fromUtf8(s):
            return s
    
    try:
        _encoding = QtGui.QApplication.UnicodeUTF8
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig, _encoding)
    except AttributeError:
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig)
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName(_fromUtf8("MainWindow"))
            MainWindow.resize(717, 560)
            self.centralwidget = QtGui.QWidget(MainWindow)
           self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
            self.recherche = QtGui.QLineEdit(self.centralwidget)
            self.recherche.setGeometry(QtCore.QRect(140, 60, 291, 20))
            self.recherche.setObjectName(_fromUtf8("recherche"))
            self.brecherche = QtGui.QCommandLinkButton(self.centralwidget)
            self.brecherche.setGeometry(QtCore.QRect(450, 50, 31, 41))
            self.brecherche.setText(_fromUtf8(""))
            self.brecherche.setObjectName(_fromUtf8("brecherche"))
            self.livre1 = QtGui.QLabel(self.centralwidget)
            self.livre1.setGeometry(QtCore.QRect(150, 210, 371, 16))
            self.livre1.setObjectName(_fromUtf8("livre1"))
            self.livre2 = QtGui.QLabel(self.centralwidget)
            self.livre2.setGeometry(QtCore.QRect(150, 250, 371, 16))
            self.livre2.setObjectName(_fromUtf8("livre2"))
            self.livre3 = QtGui.QLabel(self.centralwidget)
            self.livre3.setGeometry(QtCore.QRect(150, 290, 371, 16))
            self.livre3.setObjectName(_fromUtf8("livre3"))
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtGui.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 717, 21))
            self.menubar.setObjectName(_fromUtf8("menubar"))
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtGui.QStatusBar(MainWindow)
            self.statusbar.setObjectName(_fromUtf8("statusbar"))
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
            self.livre1.setText(_translate("MainWindow", "TextLabel", None))
            self.livre2.setText(_translate("MainWindow", "TextLabel", None))
            self.livre3.setText(_translate("MainWindow", "TextLabel", None))
    
    
    if __name__ == "__main__":
        import sys
        app = QtGui.QApplication(sys.argv)
        MainWindow = QtGui.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())
    
    

    Et voici mon programme avec les classes et objets:

    from PyQt4 import QtGui, QtCore
    import sys
    
    import test
    
    class Bibliotheque(QtGui.QMainWindow, test.Ui_MainWindow):
        recept=QtCore.pyqtSignal(str)
        def __init__(self, parent=None):
            super(Bibliotheque, self).__init__(parent)
            self.Parent=parent
            self.setupUi(self)
            self.Recherche()
    
        def main(self):
            self.show()
    
        def Recherche(self):
            self.brecherche.clicked.connect(self.fonct)
            self.recept.connect(self.afficher)
    
        def fonct(self):
            self.recept.emit(self.recherche.text())
    
    
        def afficher(self, texte):
            self.livre1.setText(str(texte))
    
    if __name__=='__main__':
        app=QtGui.QApplication(sys.argv)
        principale  = Bibliotheque()
        principale.main()
        app.exec()
    


    Et voici une image qui correspond à l'interface :

    Si vous avez un petite idée et du courage je vous remercie d'avance ;)

    • Partager sur Facebook
    • Partager sur Twitter

    Récupération QLineEdit dans une variable

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown