Bonjour j'espere que vous pourrez m'aider
Donc je travail sur mon propre logiciel de traitement de texte
mais je block sur quelque chose de probablement stupide
donc j'ai creer un QToolBar dans la quel j'ai mis mon
QAction pour changer la couleur du texte grace a un QColorDialog
mais j'aimerais que l'icon du QAction sois la couleur selection dans le QColorDialog.
Je ne sais pas si c'est la façons la plus directe mais tu dois pouvoir fabriquer un QICon à la volée en te servant des fonctions de dessin et l'affecter aussitôt à ton QAction.
Oui voila tu recup ta couleur avec QColorDialog et tu genere un QIcon a l'aide d'un QPixmap rempli avec ta couleur. Ensuite tu file l'icone à ton QAction ça devrait faire ce que tu souhaite.
Bon j'avais deja penser a cette solution mais le probleme c'est quand selectionnent une couleur dans le dialog l'icone ne changera pas de couleur elle.
Dsl du Double post merci Nevdelothion je n'avais pas compris ton message avanmt de repondre la promiere fois je vais tester se que tu ma dit et je redonne des nouvelle apres
bom merci Nevdelothion
J'aurais une autre question que classe me consieller vosu d'utiliser pour un logiciel de traitement de texte j'utilise pour le moment l'interface SDI j'ai essayer avec QTexteEdit mais je crois quel ne prend pas les palette car j'ai tester le changement de couleur et il ne se passe rien
Le QTextEdit devrait te suffire si tu veux te limiter à du rich texte. En plus ça à l'avantage d'avoir presque toutes les fonctionnalités déjà implémentées, il te suffit juste de les appeler depuis tes menus avec les bonnes valeurs.
Maintenant si tu veux aller plus loin et implémenter ton propre éditeur avec gestion de l'édition et du rendu, ça va vite devenir assez chaud.
Merci _skip
est t'il possible de mettre des images dans un QTextEdit?
Car le Logiciel de traitement de texte que j'aimerais realiser j'aimerais quil sois comme Word Ou WordPad
Après une petite recherche rapide je dirais que oui tu peux ajouter une image dans un QtextEdit. Regarde la doc tu devrais arriver à trouver ce que tu cherches à faire.
http://developer.qt.nokia.com/doc/qt-4.8/QTextEdit.html
merci Nevdelothion
J'ai une mini probleme je croie que je me suis planter a quelque part
grasButton->setCheckable(true);
connect(grasButton, SIGNAL(pressed()), this, SLOT(boldFontTrue()));
connect(grasButton, SIGNAL(released()), this, SLOT(boldFontFalse()));
void WindowOne::boldFontTrue()
{
QFont boldFontsTrue = QFont();
boldFontsTrue.setBold(true);
zoneText->setFont(boldFontsTrue);
}
void WindowOne::boldFontFalse()
{
QFont boldFontsFalse = QFont();
boldFontsFalse.setBold(true);
zoneText->setFont(boldFontsFalse);
}
Le probleme est que quand je clic sur le bouton le gras s'affiche mais disparais aussi tot sans que le bouton est ete relacher
setFont c'est la méthode de QWidget, essaie une autre, comme par exemple setCurrentFont qui est plus bas dans la hiérarchie.
++
Le probleme c'est que le gras apparais mais redisparais tous de suite meme si le boutton reste enffoncer avec le SIGNAL Pressed()
Alors les signaux pressed et released c'est pour l'utilisation normal d'un QPushButton, c'est à dire tant que tu appuies il reste enfoncé si tu lache il revient en position normal.
Si tu utilise setCheckable(true) la quand tu click il est enfoncé et il faut ré-appuyer pour qu'il revienne en position de départ. Du coup je pense que tu devrais utiliser le signal toggled.
connect(grasButton, SIGNAL(toggled(bool)), this, SLOT(onBoldFont(bool)));
Ensuite dans onBoldFont tu set ta font à la valeur du booleen. Ca t'evite en plus d'avoir 2 fonctions pour activer et desactiver.
Au passage tu fera attention en plus dans ton code tu as setBold(true) dans les deux fonctions donc ça ne dois pas vraiment fonctionner comme tu veux.
Merci Nevdelothion j'avais remarque mon erreur au niveau des fonctions pour le (toggled(bool)) merci de l'info dans le tuto que j'avais suivi il c'etais tromper pour les boutton a 2 etat
j'ai lu le doc un peu vite la promiere fois je les relu et j'avais trouver (toggled(bool))
void WindowOne::boldFontTrue(bool)
{
bool checked = false;
QFont boldOn = QFont();
boldOn.setBold(true);
if (checked)
{
zoneText->setFont(boldOn);
}
}
le probleme maintenet c'est que le gras ne se desactive pas con le boutton n'est pas enfoncer
Alors je sais pas si tu as bien lu mon message précédent dans lequel je disais de ne faire qu'une seule fonction? je demande parce que la tienne s'appelle toujours boldFontTrue ce qui sous entend qu'il y en a une avec false quelque part ce qui ne sert pas à grand chose.
Ensuite la fonction que tu poste la elle ne fait rien du tout au final...tu set ton bool à false des le depart et ensuite tu appliques la font à ta zone de text uniquement si checked est true ce qui n'est jamais le cas du coup.
La fonction appelé lorsque l'on toggle ca devrait etre un truc comme ca:
fonction(bool _b)
{
set font bold to (_b)
apply font to text
}
Autre chose même si ce n'est qu'un detail, pour plus de lisibilité ds ton code pour quelqu'un qui debarque comme ca (et meme pour toi quand tu voudra reprendre ça plus tard) tu devrais songer à différencier les variables membre d'une classe des variables déclarées ou passées dans une fonction.
m_maVariable pour les membres.
variable pour celle declaré localement.
_maVariable pour les valeur passé en parametre de fonction.
g_maVariable pour celle déclarés en global.
Merci beaucoup de ton aide Nevdelothion
et merci de tes conseil je debute en programmation depuis le mois de septembre derniere et donc j'ai quelque difficulter a assimiler certaine chose.
Vous allez peu etre me trouver fatiquand mais j'aurais besion dun autre petit coup main
void WindowPad::m_addImage()
{
QString imageFile = QFileDialog::getOpenFileName(this, "Ouvrir un fichier", QString(), "Images (*.bmp *.png *.gif *.jpg *.jpeg)");
QPixmap loadImage(imageFile);
if (loadImage.isEmpty())
{
zoneText->
}
}
j'ai lu le dock pas de prob pour creer un dialogBox pour ouvrir des fichier txt mais pour ouvrir et afficher une image je block
mon QTextEdit prend les images
Hello!
Deja rapidement quelques petites choses qui m'intrigue quand je regarde ton code:
Je vois que tu as voulu mettre un m_ comme je l'avais suggéré dans un message plus haut, tu peux le laisser si tu veux mais en général on utilise ça juste pour identifier les variables et pas les fonctions (sauf à la rigueur des fonction global avec un g_maFonction).
Ensuite, tu fais un isEmpty sur un QPixmap? Je ne pense pas que cette fonction existe pour ce type d'objet. A la rigueur il y a un isNull qui permet de savoir si il y a bien quelque chose de défini de taille supérieur à 0 dans le pixmap.
En plus on dirait que tu utilise ça dans un if pour savoir si tu peux l'afficher dans ton QTextEdit mais il te manque un "!" dans ton test parce que si ton pixmap n'est pas défini alors tu ne peux pas l'utiliser. Si tu veux faire un test c'est sur la chaine de caractère que tu récup qu'il faut le faire.
Et puis au final d'après ce que j'ai lu la en 2 seconde de recherche sur google et ds la doc de QTextEdit, tu peux charger une image en utilisant du code HTML donc pas besoin de la générer en tant que pixmap.
QString imagePath = QFileDialog::getOpenFileName(...)
m_laZoneDeTexte->insertHtml("<img src = \""+ imagePath +"\" alt = \"\"/>");
A toi de faire quelque recherche à partir de la voir ce que fait la fonction insertHtml etc...