2 votes

Qt QTextEdit numéros de ligne

Je travaille sur un éditeur de code pour GLSL dans Qt et j'ai des problèmes avec l'affichage des numéros de ligne d'un QTextEdit. Je comprends l'exemple de Exemple d'éditeur de code Qt mais cette partie

QTextBlock block = firstVisibleBlock();
int blockNumber = block.blockNumber();
int top = (int) blockBoundingGeometry(block).translated(contentOffset()).top();
int bottom = top + (int) blockBoundingRect(block).height();

ne se combine pas vraiment bien avec un QTextEdit étant donné que je n'ai pas les méthodes firstBisibleBlock, blockBoundingGeometry et blockBoundingRect. Je sais que les blocs sont conservés dans un QTextDocument, mais cette classe ne dispose pas non plus de ces méthodes.

J'ai essayé de chercher un exemple, mais chaque fois que quelqu'un pose cette question, il est dirigé vers le même lien.

Quelqu'un peut-il m'aider ?

Remerciements

0voto

Pete Points 3137

L'exemple utilise QPlainTextEdit et accède firstVisibleBlock() etc.

Jetez un coup d'œil au code source de QPlainTextEdit et voir ce que fait l'informatique pour mettre en œuvre ces fonctions. Il semble qu'elles soient mises en œuvre selon les termes du document (au moins firstVisibleBlock() fait).

Vous pouvez également copier l'exemple et dériver à partir de QPlainTextEdit vous-même et n'utilisez pas QTextEdit .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X