2016-10-25 12 views
0

Ich arbeite an einer virtuellen Konsole, die die eingebauten Befehle des Systems verwenden würde und dann die Aktion ausführen und Ausgabeergebnisse in der nächsten Zeile in der Konsole anzeigen. Das funktioniert alles, aber wie bekomme ich den Inhalt der letzten Zeile und nur die letzte Zeile im tkinter Text Widget? Danke im Voraus. Ich arbeite in Python 3. Ich habe mit text.get(text.linestart, text.lineend) treed ohne Erfolg. Wurden diese veraltet? Es spuckt einen Fehler aus, der besagt, dass AttributeError: 'Text' object has no attribute 'linestart'Wie bekomme ich den Inhalt der letzten Zeile in tkinter Text Widget (Python 3)

Antwort

0

Sie können Modifikatoren auf die Text Widget Indicies wie linestart und lineend sowie Hinzufügen und Subtrahieren von Zeichen anwenden. Der Index nach dem letzten Zeichen ist "end".

Setzen Sie das zusammen, können Sie den Anfang der letzten Zeile mit "end-1c linestart" erhalten.

-2

Warum abrufen nicht nur den gesamten Inhalt aus dem textwidget mit

some_text = text.get() 

Dann ein paar einfache Python Textmanipulation tun mit

lines = some_text.split("\n") 
last_line = lines[-1] 
+1

'text.get()' ist ungültig Syntax; Die 'get'-Methode benötigt zwei Argumente. Da das Text-Widget garantiert immer mit einem Zeilenumbruch endet, führt das Aufteilen auf Zeilenumbrüche und das Aufnehmen des letzten Elements immer zu einer leeren Zeichenfolge. –

Verwandte Themen