Aide erreur d'ouverture d'une page dans programme python.
FerméDiablo76 Messages postés 213 Date d'inscription vendredi 25 novembre 2022 Statut Membre Dernière intervention 15 février 2025 - 6 juil. 2023 à 06:59
- Aide erreur d'ouverture d'une page dans programme python.
- Erreur 0x80070643 - Accueil - Windows
- Supprimer une page word - Guide
- Page d'ouverture google - Guide
- Programme demarrage windows 10 - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
13 réponses
Modifié le 30 juin 2023 à 11:48
Bonjour,
Affiche ton fichier .py ici
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Visuellement, ça doit ressembler à ça:
for k in range(10): print(k)
Voici mon code .py
Merci
from PyQt5.QtWidgets import * from PyQt5.uic import loadUi from PyQt5.QtWidgets import QListWidgetItem from PyQt5.QtGui import QPixmap class Joueur: def __init__(self,nom,prenom,age,taille,poids,poste,numero,etat): self.nom = nom self.prenom = prenom self.age = age self.taille = taille self.poids = poids self.poste = poste self.numero = numero self.etat = etat class IHM_Ajout(QDialog): def __init__(self,Effectif): super().__init__() loadUi('ajout_joueur.ui', self) self.Effectif = Effectif self.btnAjouter.clicked.connect(self.ajouterJoueur) self.btnCancel.clicked.connect(self.annulerAjout) def ajouterJoueur(self): nom = self.edtNom.text() prenom = self.edtPrenom.text() age = int(self.edtAge.text()) taille = float(self.edtTaille.text()) poids = float(self.edtPoids.text()) poste = self.edtPoste.text() numero = int(self.edtNumero.text()) etat = self.edtEtat.text() nouveauJoueur = Joueur(nom, prenom, age, taille, poids, poste, numero, etat) self.Effectif.append(nouveauJoueur) self.accept() def annulerAjout(self): self.reject() class IHM_Modifier(QDialog): def __init__(self,Effectif, joueur): super().__init__() loadUi('modif_joueur.ui', self) self.Effectif = Effectif self.joueur = joueur self.initChamps() self.btnModifier.clicked.connect(self.modifierJoueur) def initChamps(self): self.edtNom.setText(self.joueur.nom) self.edtPrenom.setText(self.joueur.prenom) self.edtAge.setText(str(self.joueur.age)) self.edtTaille.setText(str(self.joueur.taille)) self.edtPoids.setText(str(self.joueur.poids)) self.edtPoste.setText(self.joueur.poste) self.edtNumero.setText(str(self.joueur.numero)) self.edtEtat.setText(self.joueur.etat) def modifierJoueur(self): self.joueur.nom = self.edtNom.text() self.joueur.prenom = self.edtPrenom.text() self.joueur.age = self.edtAge.text() self.joueur.taille = self.edtTaille.text() self.joueur.poids = self.edtPoids.text() self.joueur.poste = self.edtPoste.text() self.joueur.numero = self.edtNumero.text() self.joueur.etat = self.edtEtat.text() self.accept() class IHM_equipe_foot(QWidget): def __init__(self): super().__init__() loadUi ('IHM_equipe_foot.ui', self) self.btnSupprimer.clicked.connect(self.Supprimer) self.btnModifier.clicked.connect(self.AfficherpageModifier) self.btnAjouter.clicked.connect(self.AfficherpageAjout) self.btnSuivant.clicked.connect(self.Suivant) self.btnPrecedent.clicked.connect(self.Precedent) self.Effectif = [] self.Effectif.append(Joueur('Guilhauma','Rémi',29,170,85,'Attaquant droit',11 ,'Titulaire')) self.Effectif.append(Joueur('Cobo','Rudy',27,173,80,'Milieu défensif',6 ,'Titulaire')) self.Effectif.append(Joueur('Bouffenie','Romain',39,185,87,'Milieu droit',8 ,'Titulaire')) self.Effectif.append(Joueur('Damourette', 'Thibault', 31, 175,73, 'Défenseur droit',2 , 'Titulaire')) self.Effectif.append(Joueur('Harati', 'Khadija',33 , 165, 60, 'Milieu gauche', 7 , 'Titulaire')) self.Effectif.append(Joueur('Stein', 'Nicolas', 39, 183, 102, 'Gardien', 1 , 'Titulaire')) self.Effectif.append(Joueur('Zidane', 'Zinédine', 51, 185, 78, 'Milieu offensif', 10 , 'Titulaire')) self.Effectif.append(Joueur('Giuly', 'Ludovic', 46, 164, 62, 'Défenseur gauche', 3 , 'Titulaire')) self.Effectif.append(Joueur('Mbappé', 'Killian', 24, 178, 75, 'Attaquant gauche', 9 , 'Titulaire')) self.Effectif.append(Joueur('Varane', 'Raphael', 30, 191, 81, 'Défenseur centrale', 4 , 'Titulaire')) self.Effectif.append(Joueur('Ramos', 'Sergio', 37, 184, 82, 'Défenseur centrale', 5 , 'Titulaire')) self.Effectif = sorted(self.Effectif, key=lambda joueur: joueur.numero) for joueur in self.Effectif: item = QListWidgetItem(f"{joueur.numero}. {joueur.nom} {joueur.prenom}") self.listWidget.addItem(item) self.listWidget.itemClicked.connect(self.afficherJoueurDetails) self.indiceListe = 0 self.afficherJoueur() def afficherJoueur(self): joueur = self.Effectif[self.indiceListe] self.afNom.setText(joueur.nom) self.afPrenom.setText(joueur.prenom) self.afAge.setText(str(joueur.age)) self.afTaille.setText(str(joueur.taille)) self.afPoids.setText(str(joueur.poids)) self.afPoste.setText(joueur.poste) self.afNumero.setText(str(joueur.numero)) self.afEtat.setText(joueur.etat) def Precedent(self): self.indiceListe -= 1 if self.indiceListe < 0: self.indiceListe = 0 self.afficherJoueur() def Suivant(self): self.indiceListe += 1 if self.indiceListe == len(self.Effectif): self.indiceListe = len(self.Effectif) - 1 self.afficherJoueur() def Supprimer(self): del self.Effectif[self.indiceListe] self.listWidget.takeItem(self.indiceListe) if self.indiceListe == len(self.Effectif): self.indiceListe -= 1 self.afficherJoueur() def afficherJoueurDetails(self, item): joueur_index = self.listWidget.row(item) joueur = self.Effectif[joueur_index] self.afNom.setText(joueur.nom) self.afPrenom.setText(joueur.prenom) self.afAge.setText(str(joueur.age)) self.afTaille.setText(str(joueur.taille)) self.afPoids.setText(str(joueur.poids)) self.afPoste.setText(joueur.poste) self.afNumero.setText(str(joueur.numero)) self.afEtat.setText(joueur.etat) self.currentJoueurIndex = joueur_index def AfficherpageModifier(self): joueur_index = self.currentJoueurIndex ihm = IHM_Modifier(self.Effectif, self.Effectif[self.currentJoueurIndex]) ihm.joueur = self.Effectif[joueur_index] self.Effectif[joueur_index] = joueur if ihm.exec_() == QDialog.Accepted: self.Effectif = sorted(self.Effectif, key=lambda joueur: joueur.numero) self.afficherJoueur() def AfficherpageAjout(self): ihm = IHM_Ajout(self.Effectif) ihm.exec() self.afficherJoueur() app = QApplication([]) ihm = IHM_equipe_foot() ihm.show() app.exec_()
Modifié le 1 juil. 2023 à 04:26
Salut,
Difficile de comprendre ce qui ne va pas sans les fichiers .ui
Idéalement, ce serait de compresser ton projet, d'utiliser un site de transfert et de mettre le lien de téléchargement.
3 juil. 2023 à 09:29
Bonjour,
Désole je n'avais pas vu que vous aviez répondu.
Oui je me doutais de ça.. ci-dessous le lien de téléchargement du dossier avec tous les fichiers du projet.
https://wetransfer.com/downloads/2d72ac7450b1751107c0fa8fd8ef9abe20230703072938/a87225
Merci encore :)
Rémi
3 juil. 2023 à 15:06
Salut,
Alors oui, beaucoup de choses ne vont pas, tu appelles des objets qui n'existent pas dans tes fichiers UI.
Ce qui m'a le plus gêné, c'est sur l'interface principale, la gestion des items avec les boutons précédent - suivant - supprimer, rien n'est pris en compte, la suppression se fait depuis le début de ta liste d'items et non depuis l'item sélectionné.
Ce n'est qu'un premier jet :
from PyQt5.QtWidgets import * from PyQt5.uic import loadUi from PyQt5.QtWidgets import QListWidgetItem from PyQt5.QtGui import QPixmap class Joueur: def __init__(self,nom,prenom,age,taille,poids,poste,numero,etat): self.nom = nom self.prenom = prenom self.age = age self.taille = taille self.poids = poids self.poste = poste self.numero = numero self.etat = etat class IHM_Ajout(QDialog): def __init__(self,Effectif): super().__init__() loadUi('ajout_joueur.ui', self) self.Effectif = Effectif #self.btnAjouter.clicked.connect(self.ajouterJoueur) self.btnCancel.clicked.connect(self.annulerAjout) def ajouterJoueur(self): nom = self.edtNom.text() prenom = self.edtPrenom.text() age = int(self.edtAge.text()) taille = float(self.edtTaille.text()) poids = float(self.edtPoids.text()) poste = self.edtPoste.currentText() numero = int(self.edtNumero.currentText()) etat = self.edtEtat.currentText() nouveauJoueur = Joueur(nom, prenom, age, taille, poids, poste, numero, etat) self.Effectif.append(nouveauJoueur) self.accept() def annulerAjout(self): self.reject() class IHM_Modifier(QDialog): def __init__(self,Effectif, joueur): super().__init__() loadUi('modif_joueur.ui', self) self.Effectif = Effectif self.joueur = joueur self.initChamps() #self.btnModifier.clicked.connect(self.modifierJoueur) def initChamps(self): self.edtNom.setText(self.joueur.nom) self.edtPrenom.setText(self.joueur.prenom) self.edtAge.setText(str(self.joueur.age)) self.edtTaille.setText(str(self.joueur.taille)) self.edtPoids.setText(str(self.joueur.poids)) self.edtPoste.setCurrentText(self.joueur.poste) self.edtNumero.setCurrentText( str(self.joueur.numero)) self.edtEtat.setCurrentText(self.joueur.etat) def modifierJoueur(self): self.joueur.nom = self.edtNom.text() self.joueur.prenom = self.edtPrenom.text() self.joueur.age = self.edtAge.text() self.joueur.taille = self.edtTaille.text() self.joueur.poids = self.edtPoids.text() self.joueur.poste = self.edtPoste.currentText() self.joueur.numero = int(self.edtNumero.currentText()) self.joueur.etat = self.edtEtat.currentText() self.accept() class IHM_equipe_foot(QWidget): def __init__(self): super().__init__() loadUi ('IHM_equipe_foot.ui', self) self.btnSupprimer.clicked.connect(self.Supprimer) self.btnModifier.clicked.connect(self.AfficherpageModifier) self.btnAjouter.clicked.connect(self.AfficherpageAjout) self.btnSuivant.clicked.connect(self.Suivant) self.btnPrecedent.clicked.connect(self.Precedent) self.Effectif = [] self.Effectif.append(Joueur('Guilhauma','Rémi',29,170,85,'Attaquant droit',11 ,'Titulaire')) self.Effectif.append(Joueur('Cobo','Rudy',27,173,80,'Milieu défensif',6 ,'Titulaire')) self.Effectif.append(Joueur('Bouffenie','Romain',39,185,87,'Milieu droit',8 ,'Titulaire')) self.Effectif.append(Joueur('Damourette', 'Thibault', 31, 175,73, 'Défenseur droit',2 , 'Titulaire')) self.Effectif.append(Joueur('Harati', 'Khadija',33 , 165, 60, 'Milieu gauche', 7 , 'Titulaire')) self.Effectif.append(Joueur('Stein', 'Nicolas', 39, 183, 102, 'Gardien', 1 , 'Titulaire')) self.Effectif.append(Joueur('Zidane', 'Zinédine', 51, 185, 78, 'Milieu offensif', 10 , 'Titulaire')) self.Effectif.append(Joueur('Giuly', 'Ludovic', 46, 164, 62, 'Défenseur gauche', 3 , 'Titulaire')) self.Effectif.append(Joueur('Mbappé', 'Killian', 24, 178, 75, 'Attaquant gauche', 9 , 'Titulaire')) self.Effectif.append(Joueur('Varane', 'Raphael', 30, 191, 81, 'Défenseur centrale', 4 , 'Titulaire')) self.Effectif.append(Joueur('Ramos', 'Sergio', 37, 184, 82, 'Défenseur centrale', 5 , 'Titulaire')) self.Effectif = sorted(self.Effectif, key=lambda joueur: joueur.numero) for joueur in self.Effectif: item = QListWidgetItem(f"{joueur.numero}. {joueur.nom} {joueur.prenom}") self.listWidget.addItem(item) self.listWidget.itemClicked.connect(self.afficherJoueurDetails) self.currentJoueurIndex = self.listWidget.setCurrentRow(0) self.indiceListe = 0 self.afficherJoueur() def afficherJoueur(self): joueur = self.Effectif[self.indiceListe] self.afNom.setText(joueur.nom) self.afPrenom.setText(joueur.prenom) self.afAge.setText(str(joueur.age)) self.afTaille.setText(str(joueur.taille)) self.afPoids.setText(str(joueur.poids)) self.afPoste.setText(joueur.poste) self.afNumero.setText(str(joueur.numero)) self.afEtat.setText(joueur.etat) def Precedent(self): self.indiceListe = self.listWidget.currentRow() - 1 if self.indiceListe < 0: self.indiceListe = 0 self.listWidget.setCurrentRow(self.indiceListe) self.afficherJoueur() def Suivant(self): self.indiceListe = self.listWidget.currentRow() + 1 if self.indiceListe == len(self.Effectif): self.indiceListe = len(self.Effectif) - 1 self.listWidget.setCurrentRow(self.indiceListe) self.afficherJoueur() def Supprimer(self): self.indiceListe = self.listWidget.currentRow() del self.Effectif[self.indiceListe] self.listWidget.takeItem(self.indiceListe) if self.indiceListe == len(self.Effectif): self.indiceListe -= 1 self.afficherJoueur() def afficherJoueurDetails(self, item): joueur_index = self.listWidget.currentRow() joueur = self.Effectif[joueur_index] self.afNom.setText(joueur.nom) self.afPrenom.setText(joueur.prenom) self.afAge.setText(str(joueur.age)) self.afTaille.setText(str(joueur.taille)) self.afPoids.setText(str(joueur.poids)) self.afPoste.setText(joueur.poste) self.afNumero.setText(str(joueur.numero)) self.afEtat.setText(joueur.etat) def AfficherpageModifier(self): joueur_index = self.listWidget.currentRow() ihm = IHM_Modifier(self.Effectif, self.Effectif[joueur_index]) ihm.joueur = self.Effectif[joueur_index] #self.Effectif[joueur_index] = joueur if ihm.exec_() == QDialog.Accepted: self.Effectif = sorted(self.Effectif, key=lambda joueur: joueur.numero) self.afficherJoueur() def AfficherpageAjout(self): ihm = IHM_Ajout(self.Effectif) ihm.exec_() self.afficherJoueur() app = QApplication([]) ihm = IHM_equipe_foot() ihm.show() app.exec_()
Maintenant, il reste encore des coquilles, et des boutons à connecter...
Bon courage
Bonjour,
merci pour les corrections.
Maintenant les pages "modifier" et "ajouter" s'ouvrent sans souci.
Par contre je n'arrive pas à faire afficher l'ajout ou la motif une fois que les pages sont renseignées..
je suis reparti d'un fichier ou j'ai enlevé dans chaque IHM (Ajout et modif) toutes les def pour repartir de zéro.. mais a partir de la je suis bloqué je n'arrive pas à mettre les bonnes fonctionnalités...
Voici mon nouveau code.py
ainsi que le lien de partage pour les fichiers .ui
https://wetransfer.com/downloads/3d82214c71a7e64ac8fc9654cd8ecfec20230704132813/eef849
merci pour votre aide :)
from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QListWidgetItem
from PyQt5.QtGui import QPixmap
class Joueur:
def __init__(self,nom,prenom,age,taille,poids,poste,numero,etat):
self.nom = nom
self.prenom = prenom
self.age = age
self.taille = taille
self.poids = poids
self.poste = poste
self.numero = numero
self.etat = etat
class IHM_Ajout(QDialog):
def __init__(self,Effectif):
super().__init__()
loadUi('ajout_joueur.ui', self)
self.Effectif = Effectif
self.btnCancel.clicked.connect(self.annulerAjout)
self.btnSave.clicked.connect(self.SauverAjout)
def annulerAjout(self):
self.reject()
def SauverAjout(self):
self.accept()
class IHM_Modifier(QDialog):
def __init__(self,Effectif):
super().__init__()
loadUi('modif_joueur.ui', self)
self.Effectif = Effectif
self.btnCancel.clicked.connect(self.annulerAjout)
self.btnSave.clicked.connect(self.SauverAjout)
def annulerAjout(self):
self.reject()
def SauverAjout(self):
self.accept()
class IHM_equipe_foot(QWidget):
def __init__(self):
super().__init__()
loadUi ('IHM_equipe_foot.ui', self)
self.btnSupprimer.clicked.connect(self.Supprimer)
self.btnModifier.clicked.connect(self.AfficherpageModifier)
self.btnAjouter.clicked.connect(self.AfficherpageAjout)
self.btnSuivant.clicked.connect(self.Suivant)
self.btnPrecedent.clicked.connect(self.Precedent)
self.Effectif = []
self.Effectif.append(Joueur('Guilhauma','Rémi',29,170,85,'Attaquant droit',11 ,'Titulaire'))
self.Effectif.append(Joueur('Cobo','Rudy',27,173,80,'Milieu défensif',6 ,'Titulaire'))
self.Effectif.append(Joueur('Bouffenie','Romain',39,185,87,'Milieu droit',8 ,'Titulaire'))
self.Effectif.append(Joueur('Damourette', 'Thibault', 31, 175,73, 'Défenseur droit',2 , 'Titulaire'))
self.Effectif.append(Joueur('Harati', 'Khadija',33 , 165, 60, 'Milieu gauche', 7 , 'Titulaire'))
self.Effectif.append(Joueur('Stein', 'Nicolas', 39, 183, 102, 'Gardien', 1 , 'Titulaire'))
self.Effectif.append(Joueur('Zidane', 'Zinédine', 51, 185, 78, 'Milieu offensif', 10 , 'Titulaire'))
self.Effectif.append(Joueur('Giuly', 'Ludovic', 46, 164, 62, 'Défenseur gauche', 3 , 'Titulaire'))
self.Effectif.append(Joueur('Mbappé', 'Killian', 24, 178, 75, 'Attaquant gauche', 9 , 'Titulaire'))
self.Effectif.append(Joueur('Varane', 'Raphael', 30, 191, 81, 'Défenseur centrale', 4 , 'Titulaire'))
self.Effectif.append(Joueur('Ramos', 'Sergio', 37, 184, 82, 'Défenseur centrale', 5 , 'Titulaire'))
self.Effectif = sorted(self.Effectif, key=lambda joueur: joueur.numero)
for joueur in self.Effectif:
item = QListWidgetItem(f"{joueur.numero}. {joueur.nom} {joueur.prenom}")
self.listWidget.addItem(item)
self.listWidget.itemClicked.connect(self.afficherJoueurDetails)
self.indiceListe = 0
self.afficherJoueur()
def afficherJoueur(self):
joueur = self.Effectif[self.indiceListe]
self.afNom.setText(joueur.nom)
self.afPrenom.setText(joueur.prenom)
self.afAge.setText(str(joueur.age))
self.afTaille.setText(str(joueur.taille))
self.afPoids.setText(str(joueur.poids))
self.afPoste.setText(joueur.poste)
self.afNumero.setText(str(joueur.numero))
self.afEtat.setText(joueur.etat)
def Precedent(self):
self.indiceListe -= 1
if self.indiceListe < 0:
self.indiceListe = 0
self.afficherJoueur()
def Suivant(self):
self.indiceListe += 1
if self.indiceListe == len(self.Effectif):
self.indiceListe = len(self.Effectif) - 1
self.afficherJoueur()
def Supprimer(self):
if self.currentJoueurIndex is not None:
del self.Effectif[self.currentJoueurIndex]
self.listWidget.takeItem(self.currentJoueurIndex)
self.currentJoueurIndex = None
self.afficherJoueur()
def afficherJoueurDetails(self, item):
joueur_index = self.listWidget.row(item)
joueur = self.Effectif[joueur_index]
self.afNom.setText(joueur.nom)
self.afPrenom.setText(joueur.prenom)
self.afAge.setText(str(joueur.age))
self.afTaille.setText(str(joueur.taille))
self.afPoids.setText(str(joueur.poids))
self.afPoste.setText(joueur.poste)
self.afNumero.setText(str(joueur.numero))
self.afEtat.setText(joueur.etat)
self.currentJoueurIndex = joueur_index
def AfficherpageModifier(self):
ihm = IHM_Modifier(self)
ihm.exec_()
self.afficherJoueur()
def AfficherpageAjout(self):
ihm = IHM_Ajout(self)
ihm.exec_()
self.afficherJoueur()
app = QApplication([])
ihm = IHM_equipe_foot()
ihm.show()
app.exec_()
4 juil. 2023 à 15:54
Salut,
Oui, c'est le problème avec les fichiers UI, difficile de retrouver ses méthodes.
Personnellement, une fois les fichiers .ui importés de Qt Designer, je les convertis en fichier .py que j'importe comme module, donc beaucoup plus facile de s'y retrouver.
Avec quel IDE travailles-tu ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question4 juil. 2023 à 19:43
Je travaille avec Thonny ou Pycharm.
D'accord, je vois par exemple à la place de mettre :
loadUi('ajout_joueur.ui', self)
tu copie directement le code de Qt designer ?
Modifié le 4 juil. 2023 à 20:24
Alors, je l'exporte en .ui et ensuite, il est converti en .py avec la commande :
pyuic5 input.ui -o output.py
Pour te donner une idée voilà ce que ça donne.
La classe Ajouter fonctionne, du moins elle ajoute le nouveau joueur, mais il faudrait sauvegarder tout ça physiquement sur le DD ;-)
Ça va te permettre de comprendre que la lecture est plus lisible qu'avec des fichiers .ui, de plus, ça te permet également d'optimiser les dit fichiers.
https://www.dropbox.com/scl/fi/zpjbz6brkiw2fhx5ikswe/Foot.zip?rlkey=vw9av7vo25k0rzbg70716k6zl&dl=0
4 juil. 2023 à 22:33
Oh yes c'est beaucoup plus simple effectivement avec des fichiers .py. Du coup j'ai continué a travailler avec les fichiers que tu m'as envoyé et j'ai fait la partie "modifier".
Je pense que j'ai quelques choses de pas trop mal :) Le seul truc qui cloche, c'est quand je clique sur modifier la fenêtre s'ouvre avec les infos du joueur sélectionné sauf le poste du joueur qui affiche Gardien systématiquement. Je ne sais pas pourquoi…
Je t'envoie la version modifiée :)
Merci beaucoup en tout cas de ton aide, cela m'a énormément aidé :)
https://wetransfer.com/downloads/f27a5205771bcfbe9ebc5eafbee2fc6020230704203308/af6331
Modifié le 5 juil. 2023 à 04:41
Ah ah le truc qui cloche, regarde ta méthode retranslateUi() de UI_modif_joueur.py, tu ne remarques pas un truc en plus dans les chaines de caractères de self.edtEtat.setItemText() et self.edtPoste.setItemText().
Quelques points d'amélioration :
- Comme dit plus haut, la lecture et la sauvegarde des joueurs sur DD.
- Forcer la saisie d'entier dans Age, Taille et Poids pour éviter le plantage (regarde QIntValidator).
- Les commentaires.
- Remplacer les titres des fenêtres par un titre plus explicite.
Optimiser les fichiers :
Remplacer les .addItem("") par :
self.edtNumero.addItems("" for _ in range(20)) #... self.edtPoste.addItems("" for _ in range(10))
Voir également du côté des polices, elles se répètent alors qu'elles sont identiques.
5 juil. 2023 à 09:43
Alors je ne suis pas sur de voir ce qui cloche mais il me semble remarquer que nous n'appelons pas la même méthode : "setItemtext" dans Ui_modif... et "setcurrenttext" dans IHM_equipe. Mais en faisant ces modifs rien ne change...
Pour le reste j'ai pris en compte toutes tes remarques :)
Par contre je viens de remarquer également que j'avais ajouté un logo sur le fichier principale .ui il apparait bien sur l'interface Qt designer mais pas quand je lance le programme...
Modifié le 5 juil. 2023 à 10:21
Ah Ah, j'avoue que c'est vicieux, mais certains de tes setItemtext() ont un espace en fin de chaine, idem dans UI_ajout_joueur.py, il manque aussi les accents sur "Defenseur" ;-)
Python 3.11.0 (v3.11.0:deaf509e8f, Oct 24 2022, 14:43:23) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> "Milieu gauche" == "Milieu gauche " False >>> "Défenseur gauche" == "Defenseur gauche " False >>>
Pour le logo, il faut que tu enregistres ton png dans ton répertoire de travail et que tu modifies la ligne 341 de UI_equipe_foot.py
5 juil. 2023 à 10:38
ahah sacrément vicieux, absolument pas vu celle la ^^ mais du coup impeccable cela fonctionne très bien maintenant :)
J'ai mon fichier logo en .png avec le raccourci créé sur Qtdesigner .qrc dans le dossier.
Et j'ai ces lignes mais que veux tu que je modifie ? le lien est le bon.
self.label_2.setPixmap(QtGui.QPixmap(":/logo /logotype-seul-couleur-RVB.png")) self.label_2.setScaledContents(True) self.label_2.setObjectName("label_2")
5 juil. 2023 à 10:58
Par exemple, dans mon répertoire de travail, j'ai un sous-répertoire nommé Logos qui contient "mon_image.png"
la modif c'est :
self.label_2.setPixmap(QtGui.QPixmap("Logos/mon_image.png"))
5 juil. 2023 à 11:11
Ok tout simplement.
Bon beh écoute j'ai plus qu'à continuer à faire les petites améliorations que tu m'as donné, et surtout à te remercier pour ta grande aide !!
Tu m'as sauvé :)
Merci encore à toi!
Bonne journée
Rémi
5 juil. 2023 à 12:00
Cool, n'hésite pas à revenir si tu rencontres des problèmes ;-)
Important aussi, c'est le contrôle, par exemple dans "UI_ajout_joueur.py", s'assurer que tous les QLineEdit ne soit pas vide afin d'éviter le plantage à la validation.....
Bonne journée.
5 juil. 2023 à 21:02
De mon côté, j'ai amélioré certaines choses qui pourront t'inspirer.
https://www.dropbox.com/scl/fi/pula85ndquvcc33ktrjhb/Foot-2.zip?rlkey=e4gtcryzd35su3f9dv6vfx1sq&dl=0
6 juil. 2023 à 06:59
Ouppss !!!
https://www.dropbox.com/scl/fi/yixi9lo8pyofma3vbf2ry/Foot-2.zip?rlkey=rm0zemqvqwr23o7e272tkc1pw&dl=0