Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

[Exercices] La programmation avec Qt

Demande de reprise de la gestion des exos

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  ...  6  7  8  9  10  11  12  ...  14  15  16  17  Suivante
Auteur Message
2 visiteurs sur ce sujet (2 anonymes)
Page Précédente  1  2  3  ...  6  7  8  9  10  11  12  ...  14  15  16  17  Suivante
Hors ligne Amnell # Posté le 26/12/2008 à 18:19:25
Avatar

Reprise du dernier message de la page précédente :
Cet exercice aura-t-il intéressé quelqu'un ? Car je n'ai reçu aucun message à ce propos, qu'il soit une demande d'aide ou l'envoi de la solution...
N'hésitez pas à m'en envoyer !
Édité le 26/12/2008 à 21:21:35 par Amnell
 
Publicité # Posté le 26/12/2008 à 18:19:25

Hors ligne dimdam # Posté le 26/12/2008 à 21:21:42

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
J'ai commencé quelques trucs, mais j'ai pas eu beaucoup de temps, et j'ai eu pas mal de probs avec le linkage de FMOD avec Qt.
Hors ligne Amnell # Posté le 26/12/2008 à 21:25:16
Avatar

EDIT : si quelqu'un a besoin d'aide en cette heure tardive, il suffit de demander...

EDIT 2 : j'ai reçu trois codes sources de zMusic aujourd'hui, merci aux posteurs !
Édité le 29/12/2008 à 21:10:55 par Amnell
 
Hors ligne Amnell # Posté le 29/12/2008 à 21:42:13
Avatar

En prévision du suivant exercice, la gestion de la Base de Données vous plait ?
 
Hors ligne shareman # Posté le 29/12/2008 à 23:46:13
Faisons semblant
Avatar

C'est un sujet très intéressant.
On pourrait par exemple imaginer un programme où l'utilisateur pourra se connecter à une base de données et y effectuer des requêtes SQL. C'est enrichissant et pas si difficile au fond. L'idée est à approfondir.
Édité le 29/12/2008 à 23:47:07 par shareman

Image utilisateur
« Sex, drugs and rock n'roll... enlevez la drogue et vous aurez plus de temps pour les deux autres »
Steven Tyler, Aerosmith
 
Hors ligne baudon00 # Posté le 29/12/2008 à 23:49:36
To be a Zero, or not to be !
Avatar

Ville : Puilboreau
Pays : France métropolitaine
Études : BTS IRIS

Regarder post du dessous !
Édité le 30/12/2008 à 12:07:08 par baudon00
Hors ligne Amnell # Posté le 30/12/2008 à 11:22:25
Avatar

N'ayant que peu de compétences en MySQL et dans la gestion de la base de données, je ne peux pas trop approfondir le type d'exercice actuellement. Je peux par contre me renseigner et vous donner l'exercice complet.

Si ça vous semble inintéressant, je peux vous proposer de travailler avec les QReGexp qui constituera un sujet parfaitement convenable et enrichissant.

A voir donc...
 
Hors ligne baudon00 # Posté le 30/12/2008 à 12:08:25
To be a Zero, or not to be !
Avatar

Ville : Puilboreau
Pays : France métropolitaine
Études : BTS IRIS

Ok pour ca, on va concurrencer le sdz en créant (dsl pour l'orthographe) du BBCode :D ....
Édité le 30/12/2008 à 12:09:01 par baudon00
Hors ligne Amnell # Posté le 30/12/2008 à 12:11:42
Avatar

Dans ce cas c'est les QRegExp qui sont requis : pour ceux qui n'ont pas lu le tuto PHP, les QRegExp servent à la capture de texte (ou la recherche comme vous voulez). Associé à replace() de QString, on peut facilement réaliser notre propre BBCode et monter un zEditor...

EDIT : un exemple :
Code : Autre
1
<gras>texte</gras>

---> les balises <gras> correspondent à du BBCode.
Avec l'aide d'un QRegExp et de replace() de QString, on peut transformer cela en :
Code : Autre
1
<b>texte</b>

... et un début de BBCode est mis en place !
Édité le 30/12/2008 à 13:24:29 par Amnell
 
Hors ligne Darktib # Posté le 31/12/2008 à 20:15:38
Dark Coder
Avatar

Pour ton exemple juste des QString suffisent.
Code : Autre
1
2
3
4
QString texteZCode = ...;// un texte au pif, j'vais pas le taper non plus^^
QString texteBBCode;

texteBBCode = texteZCode.replace("<gras>","<b>");


Les RegExp sont plus pratiques pour un truc genre [color=#xxxxxx]...
Hors ligne Amnell # Posté le 31/12/2008 à 21:30:50
Avatar

C'est sûr qu'avec replace() de QString, on peut faire pas mal de choses mais quand tu dois travailler avec un QTextEdit pour créer un BBCode, tu ne peux pas trop te permettre d'utiliser uniquement QString (exemple avec les liens : le code HTML est <a href="lien">Texte du lien</a> : remplacer ceci devient plus ardu).

Je trouve tout de même que travailler avec les QRegExp est particulièrement enrichissant et instructif, je rédigerai donc l'exercice demain et vous aurez une belle correction rédigée (pas comme la fois dernière) de zMusic dans les jours à venir (déjà 10Ko de texte écrit dans un fichier texte soit plusieurs heures de travail de rédaction, j'espère vraiment vous satisfaire cette fois-ci).

EDIT : tous mes meilleurs vœux pour 2009 !
Édité le 31/12/2008 à 22:59:12 par Amnell
 
Hors ligne Darktib # Posté le 01/01/2009 à 22:58:31
Dark Coder
Avatar

Me too !

Pour les QTextEdit tu n'utilise jamais de QRegExp en général, vu que ce widget ne fonctionne pas en html.

C'est que quand tu veut faire une conversion que tu en utilise en masse - ou que tu veux faire de la coloration syntaxique, etc...

Un lien pour justeifier mes dires^^ : http://www.game-corp.net/topic-463.html
Hors ligne Amnell # Posté le 02/01/2009 à 01:08:48
Avatar

Es-tu sûr de toi ? Les QTextEdit sont hérités par les QTextBrowser qui fonctionnent uniquement avec l'aide du webkit. J'ai déjà fait pas mal de tests et je peux te garantir que le formatage du texte d'un QTextEdit marche. En plus de cela, dès que tu regardes les propriétés d'un QTextEdit dans Qt Designer, tu peux voir "html" avec un joli code à coté...
Édité le 02/01/2009 à 15:34:15 par Amnell
 
Hors ligne mcarton # Posté le 02/01/2009 à 13:05:38
Avatar

Ville : Bray-dunes
Pays : France métropolitaine
Études : Lycée Jean Bart - Dunkerque

Citation : zAmnellL
QTextEdit heritent de QTextBrowser
Image utilisateur C'est le contraire. "Inherited by" == "Hérité par".

Mais QTextEdit gère le html (il utilise QTextDocument).
Hors ligne Amnell # Posté le 02/01/2009 à 15:33:26
Avatar

Zut j'ai parlé trop vite désolé, j'édite...
Toutefois, les QTextEdit utilisent bien le HTML, c'est démontré.
 
Hors ligne Darktib # Posté le 02/01/2009 à 21:39:52
Dark Coder
Avatar

La structure interne n'utilise pas le html, c'est meme dit dans la doc. Par contre il peut exporter ses données en html(c'est d'ailleurs tres utile).
Ca marche en fait un peu comme les treeview, en gros c'est une suite d'éléments (TextBlock ou TextFrame), qu'on peut apres facilement convertir en html.lein : http://doc.trolltech.com/4.4/richtext-structure.html
Édité le 02/01/2009 à 21:41:39 par Darktib
Hors ligne rom1504 # Posté le 02/01/2009 à 21:52:12

Études : ENSIIE

Ou sinon on peut utiliser QTextEdit::setHtml()
Hors ligne Amnell # Posté le 03/01/2009 à 00:32:33
Avatar

Mais l'exercice demandant la mise en place d'une previsualisation d'un QTextEdit sur un QTextBrowser (car zEditor se sert d'une previsualisation), le problème n'a pas lieu d'être.

Vous aurez la correction de zMusic pour le 5 janvier sur http://exosqt.e3b.org dans la partie concernée (les niveaux 1 et 2 de la correc' traiteront dedans le son avec QSound) et le suivant exo sera rédigé demain ou du moins lundi au plus tard...
Édité le 03/01/2009 à 00:34:38 par Amnell
 
Hors ligne - Dante - # Posté le 03/01/2009 à 15:20:11
Wrong is right
Avatar

Ville : Ifrane
Pays : Maroc
Études : Lycée Gambetta - Tourcoing

Peut-on savoir le prochain exercice dont tu parles ? Est-ce le programme des bases de données ?

Image utilisateur
 
Hors ligne Amnell # Posté le 03/01/2009 à 21:08:52
Avatar

Comme j'ai eu énormément d'avis de personnes pour l'exercice sur les QRegExp (son utilisation se trouverait dans la fabrication d'un logiciel traitant la fabrication de tutos hors ligne, ou plus précisément avec la mise en place d'un BBCode).

Voici donc l'énoncé...

Exercice du mois de janvier 2009



Titre du sujet : Réaliser un zEditor avec Qt, Thunderseb à l'honneur !

Quand je vous dit zEditor, vous savez immédiatement de quoi je veux parler, non ? Et bien zEditor est un éditeur de ZCode multiplateforme réalisé principalement en Javascript et à l'aide de XULRunner par Thunderseb. Autrement dit, ce programme sert à rédiger vos tutoriels pour le Site du Zéro et nous allons réaliser le nôtre avec Qt que l'on nommera zTuto !

Niveau 1



Comme d'habitude, le niveau 1 correspondra à la création de l'apparence du programme, ce qui est parfaitement adapté pour les débutants venant de commencer de coder avec Qt (il faut tout de même avoir travaillé sur le tutoriel [Pratique] Créez vos propres fenêtres avec Qt de M@teo21).

Voici les étapes de réalisation du premier niveau :
1) Créez une fenêtre aux dimensions fixes (dimensions libres)
2) Vous mettrez dedans un QGridLayout
3) Vous devrez créer une QDockWidget qui se situera à gauche
4) Ainsi qu'une zone de texte dans le layout à la position (0, 1)
5) Et un QTextBrowser (1, 1)

Ce niveau est plus compliqué que les niveaux 1 des exercices précédents : n'hésitez pas à consulter la doc de Qt et à lire/relire des chapitres du tutoriel vous apprenant à programmer avec Qt, ou n'hésitez pas non plus à pratiquer avec les exercices parus précédemment.

Niveau 2



Dans le niveau 2, nous allons améliorer ce que nous avons fait dans le niveau précédent :
1) Nous mettons la zone de texte dans une QGroupBox dont le nom serait "Zone de texte" et le QTextBrowser dans un autre nommé "Prévisualisation", ce qui devrait vous permettre de commencer à comprendre à peu près l'utilité des deux widgets créés dans le niveau précédent.
2) Pourquoi ne pas créer des menus avec des actions telles que Quitter, A propos, ... ? (on ne crée pas encore les actions touchant au ZCode et les actions créées ne doivent pas toucher des points importants du programme, nous le ferons dans le niveau suivant)
3) On ajoute une toolBar avec de jolies icônes sur les actions associées
4) On met en place un système de prévisualisation de ce qu'écrit l'utilisateur du programme dans la zone de texte au QTextBrowser (à l'aide de QString)

Niveau 3



C'est à partir du niveau 3 que l'on va commencer à travailler sur le BBCode du programme. Faisons la liste de ce que nous devons avoir en tête lorsque nous le créerons :
  • On doit déjà pouvoir ajouter des balises telles que <gras> en cliquant sur une action du nouveau menu nommé Insertion
  • On doit ensuite faire en sorte qu'elles marchent (d'où l'utilisation des QRegExp) et donc que le texte entre les balises <gras> soit mis en gras par exemple (utilisation de replace() de QString)
  • On doit aussi pouvoir faire en sorte que si un texte est sélectionné, il soit encadré par les balises <gras> si l'utilisateur clique sur l'action
  • Pour finir, la gestion des balises <code> est à faire : la difficulté est que c'est une balise xHTML


N'oubliez pas les smileys ;) !
Le niveau 3 constitue donc la mise en place du BBCode...

Niveau 4



On gère l'ouverture et la sauvegarde (dans un fichier texte pour commencer) de manière à ce que l'utilisateur puisse sans problème éditer et sauvegarder des chapitres complets de tutoriel (car nous n'avons pas encore de quoi faire une gestion des introductions, des conclusions et encore moins de gérer un big tuto).

Niveau 5



On va enfin nous servir de la dock qu'on a eu à créer plus tôt : on y met une gestion des parties de chapitre, des intros, conclusions mais pas de QCM. On ajoute tout cela dans la gestion de l'ouverture et de la sauvegarde). On mettra donc une gestion des pages par onglet.

Niveau 6



Vraiment pour ceux qui connaissent le XML, vous pouvez gérer la sauvegarde comme le fait zEditor.
Astuce : enregistrez avec zEditor un chapitre et un big-tuto pour voir à quoi il ressemble et comment le reproduire.
Vous pouvez donc en plus de cela optimiser le logiciel comme bon vous semble et gérer les QCM.
Ce niveau ne sera pas corrigé.

Bon courage !
Édité le 14/03/2009 à 15:28:17 par Amnell
 
Hors ligne Prosperoh # Posté le 03/01/2009 à 21:13:45
Avatar

Ville : Périgueux
Pays : France métropolitaine
Études : Lycée Louis-le-Grand - Paris 5ème

Dommage de créer quelque chose qui existe déjà sur le SdZ...
Enfin bon c'est quand même un très bon exercice ;) !
Hors ligne - Dante - # Posté le 03/01/2009 à 21:29:10
Wrong is right
Avatar

Ville : Ifrane
Pays : Maroc
Études : Lycée Gambetta - Tourcoing

Ça a l'air un peu plus difficile.

Image utilisateur
 
Hors ligne Amnell # Posté le 03/01/2009 à 21:35:14
Avatar

Citation : gymnopaul
Dommage de créer quelque chose qui existe déjà sur le SdZ...

Cela ne peut que vous aider quand on y réfléchis : vous pourrez vous aider de zEditor pour avoir de l'inspiration, voir comment marche une chose, ... !
Citation : gymnopaul
Enfin bon c'est quand même un très bon exercice ;) !

Merci du compliment ! Citation : MadaraUchiwa
Ça a l'air un peu plus difficile.

Bien oui, c'est vrai que la difficulté augmente mais on ne peut pas trop faire moins compliqué pour un tel logiciel...
Édité le 03/01/2009 à 21:36:14 par Amnell
 
Hors ligne 008 # Posté le 03/01/2009 à 22:55:27

Ville : Gatineau
Pays : Canada

Très bon exercise. Félicitation !
Je vais commencer cela après avoir fini mon générateur de labyrinthe

J'espère avoir été clair :p si besoin plus d'information dites-moi le :p
:D Merci d'avance :D

La doc a toujours raison
Merci Pour vos futur réponse
 
Hors ligne Darktib # Posté le 04/01/2009 à 18:00:22
Dark Coder
Avatar

En effet c'est un bon exercice ;)

Citation : zAmnellL
Ce niveau est plus compliqué que les niveaux 1 des exercices précédents : n'hésitez pas à consulter la doc de Qt et à lire/relire des chapitres du tutoriel vous apprenant à programmer avec Qt, ou n'hésitez pas non plus à pratiquer avec les exercices parus précédemment.

De toute facon je pense que personne ici n'a la science infuse ou est developpeur chez nokia, donc je pense que tous les exos doivent forcer le recour a la doc. Ca permet d'apprendre a apprendre tout seul, sans flooder sur un forum pour 3000 questions stupides^^
Hors ligne Amnell # Posté le 05/01/2009 à 16:32:21
Avatar

Merci à tous de votre soutien, ça fait plaisir !
Pour info, vous pouvez déjà voir la correction de zMusic amplement détaillée ici : http://exosqt.e3b.org/exercice-2-zmusic (je vous préviens tout de suite : j'y ai passé bien 12 heures donc vous avez de la lecture)
Il manque toutefois encore la correction du niveau 4 (que je suis en train de rédiger) et un exemple du niveau 5 (déjà prêt).
N'hésitez pas à émettre une critique éventuelle si vous remarquez la présence d'une éventuelle faute, quelle qu'elle soit...
 
Hors ligne shareman # Posté le 05/01/2009 à 20:59:03
Faisons semblant
Avatar

C'est vraiment de l'excellent travail ! On voit que tu tiens beaucoup à ta matière qui est l'entrainement des zér0s à Qt, car tu t'engages et ça se remarque. Je te souhaite donc bonne année chance pour la suite. ;)

Je gère moi-même un topic d'exercices et je peux te dire que ce qui fait en sorte que ton topic ait du succès est la qualité de l'énoncé combinée à la qualité de la correction, le tout saupoudré d'une très bonne orthographe.

Image utilisateur
« Sex, drugs and rock n'roll... enlevez la drogue et vous aurez plus de temps pour les deux autres »
Steven Tyler, Aerosmith
 
Hors ligne hilnius # Posté le 05/01/2009 à 21:33:30
Avatar

je vais essayer mais ça m'a l'ai un peu compliqué quand même

si j'ai bien compris on doit pouvoir insérer du code dans une zone de texte afin de créer un tutoriel pour le site du zero ???

Création d'un RTS v1.0 :
- Editeur: |____________________| : 17% | Bugs connus
- Jeu 3D : |____________________| : 00% | restants : trop
Le site de mes projets, Mes open-sources.
Image utilisateur
Image utilisateur
 
Hors ligne Amnell # Posté le 05/01/2009 à 21:45:47
Avatar

Merci de nouveau pour les compliments !

Non, ce n'est pas tout à fait cela. Je te conseille de télécharger zEditor pour voir comment marche le programme et une fois que tu l'auras bien testé, relis l'énoncé et tu sauras exactement quoi faire.
 
Hors ligne Joe DRALLIAM # Posté le 06/01/2009 à 11:24:34
while(1)cout<<c++;
Avatar

Ville : Meudon
Pays : France métropolitaine

Bonjour,
J'aimerais savoir si la balise html de couleur est :

Code : Autre
1
<c r=0 g=0 b=0>Du texte </c>


Sinon qelqu'un pourrait me l'indiquer?
Édité le 06/01/2009 à 11:25:40 par Joe DRALLIAM

Citation : Exemple de Qt
Computers are not intelligent. They think they are.
 
Hors ligne Amnell # Posté le 06/01/2009 à 17:23:04
Avatar

Il s'agit de ceci :
Code : HTML
1
<font color="">Texte</font>
Édité le 06/01/2009 à 17:24:03 par Amnell
 

Retour au forum "Langage C++" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx