Bonjour,

j'ai un problème pour supprimer un item d'un QListWidget, toutes les méthodes que j'ai essayées ne fonctionnent pas.

J'ai une fonction qui sert à lire des options dans un fichier de conf et les afficher dans un QListWidget.
A partir de la fenêtre d'affichage, l'utilisateur a accès à trois menus ajouter/supprimer/modifier qui s'ouvrent dans une nouvelle fenêtre(dialog). Les modifications de l'utilisateurs sont reportées dans le fichier de config. Une fois sa modification validée, il est ramené à la fenêtre d'affichage sur laquelle se trouve un bouton pour recharger cet affichage.
J'aimerais qu'un clic sur ce bouton supprime l'item qui est affiché, en crée un nouveau dans lequel il affiche le contenu du fichier modifié.
Toutes mes tentatives donnent un nouvel item qui s'affiche en dessous du premier, mais ne supprime pas celui-ci.


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
 
class MenuListing(QtGui.QDialog,):
class MenuListing(QtGui.QDialog,):
    def __init__(self, parent = None):
        super(MenuListing, self).__init__(parent)
        self.ui = Ui_DialogList()
        self.ui.setupUi(self)
        print (flagmenu)
        self.chargeListing() #appel de la fonction qui sélectionne la bonne fonction d'affichage en fonction du menu sélectionné par l'utilisateur
        self.ui.pushButtonListAjout.clicked.connect(self.selectAjout)
        self.ui.pushButtonListSupp.clicked.connect(self.selectSupp)
        self.ui.pushButtonListMod.clicked.connect(self.selectMod)
        self.ui.pushButtonListRecharge.clicked.connect(self.suppItem)#pour recharger l'affichage, je supprime d'abord l'item...
        self.ui.pushButtonListRecharge.clicked.connect(self.chargeListing)#...puis j'appelle la fonction de sélection de l'affichage.
        self.ui.pushButtonListRet.clicked.connect(self.close)
 
    def suppItem(self): #devrait supprimer l'item affiché mais ne fonctionne pas
        item = self.ui.listWidget.takeItem(self.ui.listWidget.currentItem())
        self.ui.listWidget.removeItemWidget(item)
 
    def chargeListing(self): #sélectionne la bonne fonction d'affichage selon le menu sélectionné
        if flagmenu == 1 :
            self.listeUtil()
        elif flagmenu == 2 :
            self.listeSip()
        elif flagmenu == 3 :
            self.listeConf()
        elif flagmenu == 4 :
            self.listeIvr()
 
    def listeUtil(self):
        config = configparser.RawConfigParser()
        config.read(dossierCS + '/users.conf')
        user = 8500
        while config.has_section(str(user)) == True:
            for user in config.sections():
                if user.startswith('8'):
                    item = QtGui.QListWidgetItem(self.ui.listWidget)
                    item.setText("Numero : "+user+"  Nom : "+config.get(user, 'fullname')+ \
                                 "  Mot de passe : "+config.get(user, 'secret'))
            user = int(user)+ 1
Avez-vous une idée de l'erreur que je fais?
Merci beaucoup.