Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. Gestion des dates
QtWS25 Last Chance

Gestion des dates

Scheduled Pinned Locked Moved Unsolved French
4 Posts 2 Posters 701 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    Fanou
    wrote on last edited by
    #1

    Bonjour à tous,
    Rien n'est vraiment aisé en QT et le moins que l'on puisse dire c'est que la bête est aussi obscure qu'un fog sur la tamise Londonienne en plein Hiver. La documentation l'est tout autant. Je suis en train de créer une application reliée à une SGBDR (Mysql). La première requête (QSqlQurery) a été rédigé ainsi :

    def nouvelle_controverse(self, titre, datedeb):
            self.query.prepare("""INSERT INTO controverses (titre, datedeb) VALUES(?,?)""")
            self.query.addBindValue(titre)
            date = QDate
            date.getDate(datedeb)
            self.query.addBindValue(date)
            self.query.exec()
    

    Cette première requête fonctionne. En revanche, je ne parviens pas à faire la marche arrière. En gros, lorsque je réalise un SELECT en QSQL, la requête retourne systématiquement la valeur "PyQt6.QtCore.QDate()" pour ce qui est des dates. Compte tenu que ces dates doivent venir mettre à jour le QDateEdit de l'écran de gestion, cela génère systématiquement une erreur (toujours très obscure d'ailleurs).
    Voici le code de la requête pour récupérer les données qui viendront compléter le formulaire :

    self.query.prepare("""SELECT TITRE,DATE_DEB, DATE_FIN, PITCH FROM controverses WHERE ID_CONTRO = ?; """)
                self.query.addBindValue(id_controverse)
                self.query.exec()
                self.liste=[]
                while self.query.next():
                    titre = self.query.value(0)
                    date_debut =self.query.value(1)
                    date_fin = self.query.value(2)
                    pitch = self.query.value(3)
                    self.liste.append(titre)
                    self.liste.append(date_debut)
                    self.liste.append(date_fin)
                    self.liste.append(pitch)
                return self.liste
    

    Je remercie la ou les âmes charitable(s) qui voudront bien m'indiquer ce qu'il faut faire pour obtenir une date valide pour ensuite l'utiliser dans le QDateEdit. D'ailleurs au passage, est il possible d'obtenir ces dates en français (je dis bien en LANGUE française, il n'est pas question ici du format).

    Je vous remercie par avance.

    Bien à vous.
    Stéphane

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mpergand
      wrote on last edited by mpergand
      #2

      Salut,

      est il possible d'obtenir ces dates en français

      J'ai fait quelques tests:

         QDate date=QDate::currentDate();
         QString str=date.toString(Qt::DefaultLocaleLongDate);
         qDebug()<<str;
         str=date.toString("dddd dd MMMM yyyy");
         qDebug()<<str;
      

      "11 août 2022"
      "jeudi 11 août 2022"

      Pas de prob à priori (Qt 5.12 MacOS 10.14)

      cela génère systématiquement une erreur (toujours très obscure d'ailleurs).

      Connaître laquelle pourait être utile :)

      1 Reply Last reply
      0
      • F Offline
        F Offline
        Fanou
        wrote on last edited by
        #3

        Bonjour mergrand,
        Je vous remercie pour votre réponse. Je vais essayer de la mettre en application. La difficulté c'est que les dates proviennent d'un requête SQL. Or, il semble bien qu'à chaque fois que je l'exécute, le résultat est systématiquement le même : "PyQt6.QtCore.QDate()".
        Encore merci pour votre aide. Je reviens vers vous au besoin ?

        Bien à vous.
        Stéphane

        1 Reply Last reply
        0
        • M Offline
          M Offline
          mpergand
          wrote on last edited by
          #4

          Malheureusement je ne connais pas le langage python, donc je vais écrire dans une sorte de pseudo langage.

          date_debut =self.query.value(1)
          
          # tester la validité
          if date_debut.isValid()
              QString date_fr=date_debut.toString("dddd dd MMMM yyyy");
              print(date_fr)
          else
               print("date invalide")
          
          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved