IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

comment faire la MAJ d'une combobox a partir d'un fichier txt d'une autre class ?


Sujet :

PyQt Python

  1. #1
    Candidat au Club
    Homme Profil pro
    rien
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Points : 4
    Points
    4
    Par défaut comment faire la MAJ d'une combobox a partir d'un fichier txt d'une autre class ?
    Bonjour,

    j aimerai connaitre une façon ou d'autres qui permettrait de faire la mise a jour de la combobox de ma première fenêtre en prenant compte des changements apportés dans mon fichier texte depuis la 2 eme fenêtre sans relancer le programme.



    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    # -*- coding: utf-8 -*-
     
    # Form implementation generated from reading ui file 'xx.ui'
    #
    # Created by: PyQt5 UI code generator 5.11.2
    #
    # WARNING! All changes made in this file will be lost!
     
    import sys
     
     
    from PyQt5.QtWidgets import *
    from F_Princ import Ui_F_Princ
    from F_Secon import Ui_F_Secon
     
    class AppWindow(QMainWindow):
        def __init__(self):
            super().__init__()
            self.ui = Ui_F_Princ()
            self.ui.setupUi(self)
            self.show()
     
            self.ui.pushButton.clicked.connect(self.fen_Addcombobox)
            self.alim_combobox()
     
        def fen_Addcombobox(self):
            self.fen_Addcombobox = Addcombobox()
     
        #Alimentter la combobox en Noms du fichier .txt
        def alim_combobox(self):
            with open('noms.txt','r') as noms:
                for nom in noms:
                    self.ui.comboBox.addItem(str(nom.strip()))
     
            #Affiche le nom de la combobox
            self.ui.comboBox.currentIndexChanged.connect(self.aff_noms)
        def aff_noms(self):
            noms = self.ui.comboBox.currentText()
            self.ui.lineEdit.setText(str(noms))       
     
     
    class Addcombobox(QMainWindow):
        def __init__(self):
            super().__init__()
            self.ui = Ui_F_Secon()
            self.ui.setupUi(self)
            self.show()
     
            self.ui.pB_add.clicked.connect(self.add)
            self.ui.pB_del.clicked.connect(self.sup)
     
            #lecture / ecriture (listwidget) les noms
            with open('noms.txt','r') as noms:
                for nom in noms:
                    self.ui.listWidget.sortItems()
                    self.ui.listWidget.addItem(str(nom.strip()))    
     
        def add(self):
            add_noms = self.ui.lineEdit_add.text()
            if len(add_noms) > 0:
                self.ui.listWidget.addItem(str(add_noms))
     
                #Ajout des Noms dans le fichier "noms.txt"
                nomsTXT = open("noms.txt", "a")
                nomsTXT.write(str(add_noms))
                nomsTXT.write('\n')            
                nomsTXT.close()
     
                self.ui.lineEdit_add.clear()      
                self.ui.listWidget.sortItems()
     
            else:
                print("la lineEdit est vierge")
     
        def sup(self):
            print("EN COURS")
     
     
    app = QApplication(sys.argv)
    w = AppWindow()
    w.show()
    sys.exit(app.exec_())
    Si une personne peut me donner un début de piste que je puisse chercher ensuite serait sympa .

    Cdl

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Je ne comprends pas pourquoi ton code a l'entête d'un fichier .ui convertit en .py par pyuic5 alors que ce n'en est pas un.

    Il semble que tes fichiers F_Princ et F_Secon sont les interfaces créées avec le Designer et, si c'est le cas, l'instanciation de ces classes nécessite sûrement un argument. self.ui = Ui_F_Princ(?)D'autre part, tu ne peux avoir qu'une seule QMainWindow, si la seconde fenêtre n'est qu'un dialogue alors choisis cela dans la fenêtre de démarrage du Designer.

    Pour ce qui est de passer des données d'une classe à l'autre il suffit de passer une référence de la première à la seconde. Et ça, ça fait partie des bases en POO.

Discussions similaires

  1. Comment faire des etats pour une application web ?
    Par ovh dans le forum Autres outils décisionnels
    Réponses: 6
    Dernier message: 06/07/2021, 03h25
  2. Comment utiliser un paramètre d'une autre classe
    Par africanwinners dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 09/11/2014, 13h36
  3. Réponses: 3
    Dernier message: 14/09/2010, 10h14
  4. Comment passer request et response à une autre classe
    Par wassimbik dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 29/07/2010, 16h08
  5. [C#] Comment faire pour rendre invible une colonne(ListView)
    Par Jfrancois57 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/05/2004, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo