In verschiedenen Szenarien werden die Strategien unterschiedlich sein. Die Annahme ist, dass Sie wxPython nur zu Präsentationszwecken verwenden, und Sie haben ein separates Modul/Paket, das sich mit den Daten beschäftigt. WxPython-Steuerelemente erhalten Daten nur von der Datenabstraktionsschicht.
Szenario I: Laden Sie alle Protokolldaten in den Speicher und verwenden Sie wx.listctrl oder wx.listview, um die Zeilen anzuzeigen.
Szenario II: Abrufen von Daten aus der Datenbank, wenn die wx-Ansicht aktualisiert wird.
In Szenario I müssen Sie nur eine Variable einrichten, um sich an die Position zu erinnern, die die UI gelesen hat, oder Sie können einfach die Liste gleiten, wenn Sie die Protokolle als Liste laden. Das automatische Aktualisieren der Ansicht durch Scrollen nach unten/oben kann in Szenario I implementiert werden, da alle Daten geladen wurden und keine sqlite db-Verbindung mehr hergestellt wird. Es wird eine schlechte Wahl sein, die automatische Aktualisierung zu implementieren, indem Sie in Szenario II nach unten/oben scrollen, da es zu viele db-Operationen geben würde - stellen Sie sich vor, Sie scrollen sehr schnell und erwarten die 5000ste Zeile?
In Szenario II können Sie eine Seitengröße einrichten und LIMIT/OFFSET verwenden, um den gewünschten Datensatz zu erhalten. Sie behalten eine andere Variable für die Offset-Nummer. Mit den Variablen page_size und offset können Sie einfach die Daten abrufen und die wx-Ansicht aktualisieren. Dieses Szenario eignet sich besonders zur Begrenzung der Speicherbelegung. Ich weiß nicht, wie groß Ihr Protokoll ist, aber schließlich ist es keine gute Idee, alles in den Speicher zu laden, weil ein Protokoll weiter wächst und Sie möglicherweise auch andere relativ große Datenmengen gleichzeitig laden müssen.
Ich bin auf der Suche nach einem Tutor, den ich bezahlen werde, um mir etwas von diesem Zeug (via Webex) zu lehren .. Es dauert nur zu lange, um dieses Zeug auf eigene Faust zu tun und ich brauche eine Richtung .. obv for Pay . bist du interessiert? – user1314011
Es tut mir leid zu sagen, dass ich zu beschäftigt bin, um dein Tutor zu sein. Ich bin sicher, du wirst jemanden neben dir finden, der gut in wxPython ist. Danke für die Frage ;-) – user866903