wie fügen Sie Zeilen-Nummern an : QTextEdit?
ich Schreibe eine visual basic ide , und ich muss hinzufügen, Linien-Nummern zu QTextEdit und markieren Sie die aktuelle Zeile . ich habe festgestellt, dass dies tutorial aber es ist in java geschrieben und ich Schreibe mein Projekt in c++
also, wo zu finden die tutorial wie das in c++ oder wenn es ein fertig-Komponente ?
Dank .
InformationsquelleAutor Radi | 2010-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist das äquivalent tutorial in C++:
Qt4: http://doc.qt.io/qt-4.8/qt-widgets-codeeditor-example.html
Qt5: http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html
Aktualisierte Antwort mit neuen links.
Neue links sind nicht mehr gültig.
Links wurden wieder aktualisiert.
InformationsquelleAutor RA.
Ich weiß, dass Qt tutorial empfiehlt die Verwendung
QPlainTextEdit
für text-editor-Implementierungen, und dass die Frage (mit Ausnahme der im Titel genannten), der allgemeiner als der Umgang (absolut) mit einemQTextEdit
widget, aber ich habe es geschafft, die Implementierung der Verhalten (Zeilennummern + aktuelle Zeilennummer markieren), und ich denke, das könnte hilfreich sein für einige Menschen (wie mich), die wirklich wollen, zu gehen zu halten mit derRich Text
widget und möchte über meine Umsetzung (die ist bei weitem nicht perfekt ist - Recht schnell codiert...).LineNumberArea.h : (ähnlich wie "QPlainTextEdit" tutorial)
LineNumberArea.cpp : (ähnlich wie "QPlainTextEdit" tutorial)
>> qtextedithighlighter.h :
>> qtextedithighlighter.cpp :
Hoffe, dass dies helfen kann...
Dies ist sehr gut, Dank Gauthier Boaglio
InformationsquelleAutor Gauthier Boaglio
War ich auf der Suche nach einer Zeile, die zahlen Malerei Lösung für QTextEdit (nicht QPlainTextEdit), und ich fand die Vorherige Antwort mit Beispiel-code für QTextEdit ist nützlich, aber, wenn wir uns benutzerdefinierten Zeilenhöhe in QTextEdit verbunden SyntaxHighligher, es funktioniert nicht zuverlässig.
Um dieses problem zu beheben, dachte ich, ein einfacher Weg, um zu bestimmen, die y-Koordinate von jedem block rect mit diesem code:
Dann können wir Linie die Anzahl von jeden block über:
Dies scheint viel einfacher und zuverlässiger als die Berechnung der block y-Koordinate durch addition vorherigen block Höhe.
Hoffe, es hilft für jemanden, der auf der Suche nach ähnlichen Lösungen.
InformationsquelleAutor Jake W