Seite 1 von 1

QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 07:54
von FrankM
Guten Morgen zusammen,

da Ihr mir bei meinem ersten Problem schnell helfen konntet, meine Denkblockade zu lösen, versuche ich es heute noch mit einem anderen Problem.

Aufgabenstellung
Ich lagere einen Prozess mit subprocess.run aus, erwarte das Ergebnis und gebe das in einem QTextEdit aus.

Code: Alles auswählen

# Hier checken wir die Daten.
            result = subprocess.run(['restic',
                                    '-r',
                                    backup_data[row].repository,
                                    'init'],
                                    input = backup_data[row].password,
                                    check=False,
                                    capture_output=True,
                                    text=True)
Problem
Ich bekomme große(?) Mengen an Daten zurück. Das sieht dann so aus.

Code: Alles auswählen

/home/frank/restic_window_test/venv/share/python-wheels/progress-1.5-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/toml-0.10.0-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl
/home/frank/restic_window_test/venv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl
/home/frank/Öffentlich

Länge 111387418
Die Dateiliste ist 111387418 Zeichen lang. Wenn ich die jetzt ungekürzt in mein Widget ausgebe, wird das Python Programm total laggy. Ich muss den Prozeß dann über die Konsole beenden, weil nicht mehr benutzbar.
Im Moment behelfe ich mir mit

Code: Alles auswählen

mainWin.widget.setPlainText(output[0:1000000])
Das ist natürlich nicht so wirklich schön. Mein Recherche im Netz ergab, das QTextEdit sehr große Datenmengen aufnehmen kann. Und jetzt mein Kopfproblem, ich verstehe nicht warum dieses Problem auftaucht!?
Jemand einen Tipp für mich?

Eine bessere Thread Überschrift ist mir leider nicht eingefallen.

Re: QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 08:10
von __deets__
Das sind 100 Megabyte. Das ist offensichtlich zu viel. Wenn du sowas darstellen willst, dann solltest du nach einem Widget suchen, welches nicht bearbeiten kann. So wie ein less Kommando unter Linux eben auch kein Editor darstellt. Das ermöglicht massive Optimierung. Ob es da schon fertig was gibt, oder du selbst ran musst, weiß ich aus der lameng auch nicht.

Re: QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 08:23
von FrankM
Danke. Ich habe da schon eine Idee, wie ich das umbauen könnte.

Re: QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 08:26
von __deets__
Nachtrag: minimal solltest du zu https://doc.qt.io/qt-5/qplaintextedit.html#details wechseln.

Re: QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 09:34
von DeaD_EyE
Eine Tabelle mit 250_000 Einträgen und zwei Spalten läuft sehr flüssig. Nur der Speicherverbrauch ist extrem. Ich komme dann auf ca. 500 MiB Speicherverbrauch.

Probier mal das QTableWidget aus.

Re: QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 12:16
von FrankM
QPlainTextEdit scheint die Lösung zu sein. Ein kurzer Test sieht erfolgversprechend aus. Leider funktionieren jetzt einige andere Dinge nicht mehr, die baue ich mal eben um ;)
Ich melde mich noch mal zurück, wenn alles geklappt hat. Danke bis hier hin...

Re: QTextEdit Datenmenge zu groß?

Verfasst: Donnerstag 22. Juli 2021, 13:37
von FrankM
@__deets__: Danke für den Tipp. Funktioniert jetzt wie gewünscht :wink:

Ich hatte mal auf QTextEdit umgebaut um dort HTML Code ausgeben zu können. Wollte das der Text etwas besser aussieht..
Leider nicht dran gedacht, das das andere Nachteile haben könnte. Wie gesagt, bin noch recht ungeübt und weiß auch nicht alles, vieles angelesen.
Aber sehr positiv, wenn mir hier im Forum so toll geholfen wird.

@Dead_Exe: Ich schau mir das QTableWidget auch noch an.