Problèmes avec Qt
Résolu/Fermé
leberra
Messages postés
27
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
25 décembre 2015
-
5 juin 2014 à 23:22
leberra Messages postés 27 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 25 décembre 2015 - 6 juin 2014 à 20:30
leberra Messages postés 27 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 25 décembre 2015 - 6 juin 2014 à 20:30
A voir également:
- Problèmes avec Qt
- Qt sdk - Télécharger - Langages
- Qt tab bar - Télécharger - Personnalisation
- Programmation Qt - Forum Logiciels
- Qt web - Télécharger - Navigateurs
- Qlabel qt ✓ - Forum Programmation
2 réponses
leberra
Messages postés
27
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
25 décembre 2015
1
5 juin 2014 à 23:23
5 juin 2014 à 23:23
j'ai oublié de préciser que la fonction main() est simple : création d'un objet "fenetre" et son affichage
leberra
Messages postés
27
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
25 décembre 2015
1
6 juin 2014 à 20:30
6 juin 2014 à 20:30
c'était pour fermer la fenetre
j'ai finalement trouvé la réponse : je ne passais pas par l'attribut QFile de ma classe, résultat : la variable Qfile du constructeur n'existait plus pour les autres méthodes et quand je voulais recréer le flux "sauvegarde", je ne pouvais pas le récupérer
désolé pour les balises, je sais pas bien les utiliser
voici le code du fichier cpp de ma classe
comme tu le vois, j'ai pas mal avancé et me casse maintenant les dents sur deux autres problèmes : sauvegarder la liste (faite dans la variable "m_fichiersAffiche") dans un fichier texte et ouvrir une autre Widget personnalisée
je suis toujours ouvert pour les suggestions et merci de ton aide
j'ai finalement trouvé la réponse : je ne passais pas par l'attribut QFile de ma classe, résultat : la variable Qfile du constructeur n'existait plus pour les autres méthodes et quand je voulais recréer le flux "sauvegarde", je ne pouvais pas le récupérer
désolé pour les balises, je sais pas bien les utiliser
voici le code du fichier cpp de ma classe
#include "Fenetre.h" #include <QTextStream> fenetre::fenetre() : QWidget() { int reponse = QMessageBox::question(this, "playlist", "créer une playlist ?", QMessageBox::Yes | QMessageBox::No); m_extentions = "audio (*.mp3; *.snd; *.wav; *.au; *.aif; *.aifc; *.aiff; *.wma)"; if (reponse != QMessageBox::Yes) { m_extentions = "texte (*.txt)"; } setFixedSize(300,150); m_Parcourir = new QPushButton("Parcourir", this); m_Parcourir->move(10,120); m_Parcourir->setCursor(Qt::PointingHandCursor); m_Parcourir->setToolTip("selectionner un fichier"); m_valider = new QPushButton("valider", this); m_valider->move(110,120); m_valider->setCursor(Qt::PointingHandCursor); m_annuler = new QPushButton("annuler", this); m_annuler->move(210,120); m_annuler->setCursor(Qt::PointingHandCursor); QObject::connect(m_Parcourir, SIGNAL(clicked()), this, SLOT(parcourir())); QObject::connect(m_valider, SIGNAL(clicked()), this, SLOT(valider())); QObject::connect(m_annuler, SIGNAL(clicked()), this, SLOT(annuler())); QObject::connect(this, SIGNAL(boutonRetourne(QString)), this, SLOT(sauvegarder(QString))); QObject::connect(this, SIGNAL(quitter()), qApp, SLOT(quit())); m_fichier.setFileName("playlist.exe"); m_fichier.open(QIODevice::WriteOnly); sauvegarde.setDevice(&m_fichier); m_fichiersAffiche = new QLabel(this); m_fichiersAffiche->setText("playlist :<p>"); m_fichiersAffiche->setGeometry(10,10,290,m_fichiersAffiche->height()); } void fenetre::parcourir() { QString fichier = QFileDialog::getOpenFileName(this, "Ouvrir un fichier", QString(), m_extentions); if (fichier != "") { emit boutonRetourne(fichier); } } void fenetre::sauvegarder(QString fichier) { if (m_extentions == "audio (*.mp3; *.snd; *.wav; *.au; *.aif; *.aifc; *.aiff; *.wma)" || (m_extentions == "texte (*.txt)" && m_fichiersAffiche->text() == "playlist :<p>")) { QString texteAffiche(m_fichiersAffiche->text()+" "+fichier+"<p>"); m_fichiersAffiche->setText(texteAffiche); m_fichiersAffiche->adjustSize(); int largeur = 300; if (m_fichiersAffiche->width()>300) { largeur = m_fichiersAffiche->width()+15; } int hauteur = 150; if (m_fichiersAffiche->height()>120) { hauteur = m_fichiersAffiche->height()+30; m_Parcourir->move(10, hauteur-30); m_valider->move(110, hauteur-30); m_annuler->move(210, hauteur-30); } setFixedSize(largeur, hauteur); QMessageBox::information(this, "fichier ouvert", texteAffiche); } else { QString texteAffiche("playlist :<p> "+fichier); QMessageBox::information(this, "fichier ouvert", texteAffiche); m_fichiersAffiche->setText(texteAffiche); m_fichiersAffiche->adjustSize(); this->adjustSize(); } } void fenetre::valider() { QString fichier(m_fichiersAffiche->text()); if (m_extentions == "audio (*.mp3; *.snd; *.wav; *.au; *.aif; *.aifc; *.aiff; *.wma)") { sauvegarde.setDevice(&m_fichier); sauvegarde << fichier << endl; } } void fenetre::annuler() { m_fichier.close(); this->hide(); emit quitter(); }
comme tu le vois, j'ai pas mal avancé et me casse maintenant les dents sur deux autres problèmes : sauvegarder la liste (faite dans la variable "m_fichiersAffiche") dans un fichier texte et ouvrir une autre Widget personnalisée
je suis toujours ouvert pour les suggestions et merci de ton aide
6 juin 2014 à 11:18
il est préférable de mettre ton code source dans des balises mise à ta disposition.
j'ai remarquer pas mal d'erreur dans ton code à commencer par la peut tu me dire pourquoi il y'a un ?
à bientôt