2016-02-28 1 views
1

J'ai besoin de vérifier mon fichier source et même omettre quelques lignes "service", donc je le fais en utilisant appendPlainText() de QPlainTextEdit. L'ajout d'une ligne signifie bien sûr une modification, donc après le chargement du fichier, l'astérisque signifie que le fichier modifié apparaît. Je voudrais avoir le comportement plus cohérent, qu'après le chargement, ce signal d'état n'est pas défini. Comment puis-je le réinitialiser, après avoir chargé le fichier?Existe-t-il un moyen simple de modifier l'état "texte modifié" dans QTextEdit?

Répondre

1

Vous pouvez entourer la partie du code qui émet le signal indésirable par deux QObject::blockSignals appels:

textEdit->blockSignals(true); 
// load from file 
textEdit->blockSignals(false); 

ou directement sur QTextEdit::document (bloquera moins d'autres signaux, je suppose):

textEdit->document()->blockSignals(true); 
// load from file 
textEdit->document()->blockSignals(false); 

Peut-être même appeler QTextEdit::setModified immédiatement après le chargement (deux signaux seront émis). Essayez chacune d'entre elles et dites-moi si l'une d'entre elles ne fonctionne pas.