begin process at 2010 03 18 21:40:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

[QT] calendrier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[QT] calendrier

mercredi 30 juillet 2008 à 13:45:09 | [QT] calendrier

sofdev

Bonjour,
je veux colorer une case dans mon calendrier comme ds l'exemple (calendar de Qt examples and demos)
j'ai "réussi" à faire ça(copier coller),mais le problème est le suivant :
quand je veux  colorer deux dates dans le même mois,les dates se dupliquent(de 1 à 30 apparaient deux fois) et ainsi de suite

void PlanningCourt::insert_calendar()
{
    fontSize = 10;
    editor->clear();
     QTextCursor cursor = editor->textCursor();
     cursor.beginEditBlock();

     QDate date(selectedDate.year(), selectedDate.month(), 1);

     QTextTableFormat tableFormat;
     tableFormat.setAlignment(Qt::AlignHCenter);
     tableFormat.setBackground(QColor("#e0e0e0"));
     tableFormat.setCellPadding(1);
     tableFormat.setCellSpacing(2);
     QVector<QTextLength> constraints;
     constraints << QTextLength(QTextLength::PercentageLength, 14)
                 << QTextLength(QTextLength::PercentageLength, 14)
                 << QTextLength(QTextLength::PercentageLength, 14)
                 << QTextLength(QTextLength::PercentageLength, 14)
                 << QTextLength(QTextLength::PercentageLength, 14)
                 << QTextLength(QTextLength::PercentageLength, 14)
                 << QTextLength(QTextLength::PercentageLength, 14);
     tableFormat.setColumnWidthConstraints(constraints);

     QTextTable *table = cursor.insertTable(1, 7, tableFormat);

     QTextFrame *frame = cursor.currentFrame();
     QTextFrameFormat frameFormat = frame->frameFormat();
     frameFormat.setBorder(1);
     frame->setFrameFormat(frameFormat);

     QTextCharFormat format = cursor.charFormat();
     format.setFontPointSize(fontSize);

     QTextCharFormat boldFormat = format;
     boldFormat.setFontWeight(QFont::Bold);

     QTextCharFormat highlightedFormat = boldFormat;
     highlightedFormat.setBackground(Qt::yellow);

     for (int weekDay = 1; weekDay <= 7; ++weekDay)
     {
         QTextTableCell cell = table->cellAt(0, weekDay-1);
         QTextCursor cellCursor = cell.firstCursorPosition();
         cellCursor.insertText(QString("%1").arg(QDate::longDayName(weekDay)),
                               boldFormat);
     }

     table->insertRows(table->rows(), 1);
    
     vector< string > vect_date;
vect_date=bd.select_date();
    
    while (date.month() == selectedDate.month() ) {
         int weekDay = date.dayOfWeek();
         QTextTableCell cell = table->cellAt(table->rows()-1, weekDay-1);
         QTextCursor cellCursor = cell.firstCursorPosition();


    for(int i=0;i<vect_date.size();i++)//Içi c'est le problème,mais j'ai besoin de cette boucle pour parcourir les dates que je veux les colorer .
    {
         if (date.toString("dd/MM/yyyy") ==QString(vect_date[i].c_str()) )
                 cellCursor.insertText(date.toString("dd"), highlightedFormat);
        
         else
             cellCursor.insertText(QString("%1").arg(date.day()), format);
    }
         date = date.addDays(1);
         if (weekDay == 7 && date.month() == selectedDate.month())
             table->insertRows(table->rows(), 1);
        
    }

     cursor.endEditBlock();
     setWindowTitle(tr("Calendar for %1 %2"
         ).arg(QDate::longMonthName(selectedDate.month())
         ).arg(selectedDate.year()));
}


merci pour votre aide.


Cette discussion est classée dans : date, table, cursor, weekday, tableformat


Répondre à ce message

Sujets en rapport avec ce message

Reconstitution de tables/ Problème de sélection [ par finesse20 ] Bonjour,Je travaille sous access et je dispose d'une table T_flux qui contient tous les mouvements qu'il y a eu dans une entreprise et d'une table [04 Convertion time_t vers DATE (VARIANT) [ par RaSa ] Bonjour,Une date m'ai fournit sous forme de time_t (standard c) et je souhaite la convertir vers une variable de type DATE afin de la stocker dans un Lancement .exe à une certaine date [ par Warter ] Bonjour,J'aimerais faire quelque chose qui permette de faire un peu comme une date de validiter.C'est à dire en fait, au premier lancement le fichier Verification automatique de la date [ par conservatoire ] Salut! Je voudrais fais un programme qui me permetrais d'éteindre tout les PC de mon reseau a une heure donée et un jour donné (genre tout les lundis Question pour un debutant [ par wismerhill__ ] Bonjour à tous, j'ai une question mega basique : j'ai une classe date dont l'attribut private mDate est le nombre de jour depuis 1/1/1900Le code suiva ADO: Comment lire une date ? [ par gogomanu ] Bonjour,Lorsque je lis un recordset ADO je reçois le type "_variant_t" pour les TimeStamp (dates et heures).Or le TimeStamp semble être stocké sous la Tres bizzard, je ne comprend pas (lecture de data file) [ par IceFinger ] Bonjour a tous, et si quelqu'un peut m'aider, ce serait vraiment bien venuVoila, je dois lire des data file, mon soft marche parfaitement SAUF pour un Table de correspondance [ par wismerhill__ ] Salut, j'ai un problème simple que j'aimerais resoudre un peu joliment...Je dispose de trois vecteur de n elementsvect 1 -> vecteur de std::stringvect Classe date [ par wismerhill__ ] Slut à tous, je me suis fait une classe date avec des jours feriés et tout et tout, mais je galere avec tout les concepts de workday,easter day etc .. parcourir un disque dur,un repertoire ou une machine [ par keila ] J'ai une préoccupation. je cherche une fonction qui lorsque je clique sur mon bouton parcourir,me permet de sélectionner sois un disque, un répertoire


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales