[gelöst] Wildcards im QCompleter bzw. QComboBox

Alles rund um die Programmierung mit Qt
Antworten
dillchen
Beiträge: 6
Registriert: 2. Mai 2011 09:43

[gelöst] Wildcards im QCompleter bzw. QComboBox

Beitrag von dillchen »

Hallo,
dies ist mein erster Beitrag hier. Und gleich ein Problem.
Ich habe mich jetzt soweit durch Qt gefuchst, das ich eine schöne Anwendung mit MySQL-Anbindung und NCReports hinbekomme..
Nur bei einer Sache beiße ich mir die Zähne aus..
Wie bekomme ich es hin, das bei der Eingabe in einem QLineEdit oder bei einer QComboBox der QCompleter im Popup alle Möglichkeiten zeigt, die eine Kombination/Zeichenfolge meiner Eingabe enthalten?
Also entweder im Model des Completers oder in den Items der ComboBox stehen Kostenstellen als Name und die jeweilige Kostenstelle als Nummer, zum Beispiel folgendes:
"Bewirtschaftung von Grundstücken - 51701"
"Unterhalt von Grundstücken - 51901"
"Löhne und Gehälter - 42801"

Nun möchte ich bei einer Eingabe von "Grund" beide Kostenstellen im Auswahlfeld haben..
oder wenn ich die Nummern 51 eingebe auch beide Kostenstellen im Popup sehen..
oder bei der Eingabe von "und" alle 3, da "und" in "Bewirtschaftung von Grundstücken - 51701", "Unterhalt von Grundstücken - 51901" und "Löhne und Gehälter - 42801" zu finden ist!

Ich hatte die Idee mit Wildcards zu arbeiten bzw. QRegExp.. für eine QSortModel bzw. den Filter ist das ja nicht das Problem, aber das hilft mir bei der QCompleter Funktion bzw der QComboBox nicht wirklich weiter!

Wahrscheinlich müsste ich eine neue/eigene ComboBox schreiben oder die QCompleter-Funktion überschreiben, aber da weiß ich nicht weiter!

Kurz und gut, HILFE!!
Zuletzt geändert von dillchen am 13. Mai 2011 10:57, insgesamt 1-mal geändert.
dillchen
Beiträge: 6
Registriert: 2. Mai 2011 09:43

eigener Completer

Beitrag von dillchen »

Hallo,
leider konnte mir bisher niemand weiterhelfen..

Hab jetzt eine Lösung gefunden, aber bin noch nicht ganz glücklich!

Habe jetzt einfach hinter den QLineEdit bzw. das Signal eine Funktion gesetzt, die nach Eingabe von drei Zeichen eine Abfrage in der Datenbank macht und in einem QListWidget die Möglichkeiten aufzeigt..

Hab diesem Beitrag mal meine zwei Header und zwei Quelldateien beigefügt und die Ausgabe nach dem Erstellen..

Ich hätte natürlich lieber eine ListWidget analog dem QCompleter, also unter der QLineEdit und der Focus sollte auch im LineEdit bleiben..

Wie komm ich das hin? Ich will kein Extrafenster..

Sorry, versuch mich noch nicht zu lang mit QT und aus dem Header und Quellfile von QCompleter werde ich nicht wirklich schlau..
Dateianhänge
Eingabe von 3 Zeichen
Eingabe von 3 Zeichen
HaupfensterMitCompleter.JPG (38.37 KiB) 2105 mal betrachtet
Eingabe unter 3 Zeichen
Eingabe unter 3 Zeichen
Haupfenster.JPG (30.85 KiB) 2105 mal betrachtet
buchen.cpp
Quelldatei vom Buchungsfenster
(3.69 KiB) 47-mal heruntergeladen
dillchen
Beiträge: 6
Registriert: 2. Mai 2011 09:43

eigener Completer

Beitrag von dillchen »

der Rest der Anhänge
Dateianhänge
buchen.h
Header vom Buchungsfenster
(607 Bytes) 56-mal heruntergeladen
completer.cpp
Quelldatei vom Completer
(1.5 KiB) 62-mal heruntergeladen
completer.h
Header vom Completer
(325 Bytes) 49-mal heruntergeladen
dillchen
Beiträge: 6
Registriert: 2. Mai 2011 09:43

Beitrag von dillchen »

Hallo,
ich habe mich jetzt durch gefunzt..
Habe eine Lösung gefunden, ist sicher nicht die eleganteste, aber sie erfüllt meine Wünsche und Anforderungen.
Wenn jemand eine bessere Idee hat oder das Ganze noch etwas verbessern will, nur zu.. bin für neue Ideen bzw. Ansätze zu haben.
Grüsse
Alex
Dateianhänge
main.cpp
(202 Bytes) 48-mal heruntergeladen
buchen.h
Header vom Hauptfenster
(600 Bytes) 47-mal heruntergeladen
buchen.cpp
Quelldatei vom Hauptfenster
(3.32 KiB) 47-mal heruntergeladen
dillchen
Beiträge: 6
Registriert: 2. Mai 2011 09:43

eigener Completer

Beitrag von dillchen »

so, jetzt hier noch die Dateien für den eigentlichen Completer (QlineEdit als CentralWidget im QMainWindow und QListWidget als QDockWidget am Boden!)
Dateianhänge
meincompleter.h
Header vom Completer
(449 Bytes) 52-mal heruntergeladen
meincompleter.cpp
Quelldatei vom Completer
(2.19 KiB) 77-mal heruntergeladen
dillchen
Beiträge: 6
Registriert: 2. Mai 2011 09:43

eigener Completer

Beitrag von dillchen »

und so sieht es dann aus!
Dateianhänge
beim Programmstart bzw. wenn man in der Kostenstelle alle Eingaben löscht!
beim Programmstart bzw. wenn man in der Kostenstelle alle Eingaben löscht!
Prorgrammstart.JPG (29.28 KiB) 2084 mal betrachtet
bei der Eingabe von mindestens 2 Zeichen und dem Finden der Zeichenfolge in den Kostenstellen der Datenbank..
bei der Eingabe von mindestens 2 Zeichen und dem Finden der Zeichenfolge in den Kostenstellen der Datenbank..
EingabeMind2Zeichen.JPG (42.96 KiB) 2084 mal betrachtet
Antworten