Python und /oder QT

Alles rund um die Programmierung mit Qt
Antworten
notebook20000
Beiträge: 16
Registriert: 21. Juni 2005 09:35

Python und /oder QT

Beitrag von notebook20000 »

Hallo,

ich habe eine QT Listbox. Darin speicher ich z.B. Mitarbeiternamen. Da ich diese aber einmalig über eine ID in der DB identifiziere, muss ich eine parallele Liste mit diesen IDs verwalten

Solang die Listen eu geladen wird geht das auch aber wenn ich jetzt ein Element entferne oder hinzufüge wird die interne Nummerierung der Listbox durcheinader geworfen

z.B.

ListBox
Nr. Wert:
1 Michael
2 Markus
3 Thomas
4 Horst
5 Sabine
6 Karin
7 John
8 Bernd

removeItem(4) und das ganze siehtd ann wohl ungefähr so aus
Nr. Wert:
1 Michael
2 Markus
3 Thomas
4 Sabine
5 Karin
6 John
7 Bernd


Noch schlimmer wirds dann wohl wnen ich ein sort auf diese Listbox ausführe nachdem ich ein neues Ite hinzugefügt habe:(

Eine Liste wäre ungefähr so aufgebaut


mitarbeiter[1]= 105
mitarbeiter[2]= 366
mitarbeiter[3]= 15
mitarbeiter[4]= 66
u.s.w.

Wenn ich jetzt mit removeItem aus der Listbox einen Eintrag entferne wird die Nummern kaum nachvollziehbar neu nummeriert udn die Verbindung der beiden Datensätze ist wech:(

In HTML z.B. kann man für jeden Eintrag einen Namen udn einen Wert speichern. Das machtd as ganze sehr komfortabel:(

Wie kann ich das trpotzdem verwalten?

Anfänglich habe ich die ganze Liste neu geladen aber das geht aus Geschwindigkeitsgründen nicht mehr bei ca 1000 Einträgen
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Dann baue dir doch dein eigens Listbox Item basierend auf ListBoxText
dann kannste da meintwegen noch die Angestellten ID aus der DB ablegen.
notebook20000
Beiträge: 16
Registriert: 21. Juni 2005 09:35

Beitrag von notebook20000 »

? Wie geht sowas ?
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Eine Klasse schreiben, die von ListBoxText abgeleitet ist.
Diese wird denn entsprechend und die gewünschen Funktionen
erweitert.z.B:

Code: Alles auswählen

class wasauchimmer: public QListBoxText
{
   public:
     wasauchimmer(QListBox *liste,QString text,uint angestelltenid);
    uint AngestelteIDHohlen();
   private:
     uint AngestellteID;

};

wasauchimmer::wasauchimmer(QLiszbox *liste,QString text,uint angestelltenid):QListboxText(liste,text)
{
    AngestellteID=angestelltenid;
}
uint wasauchimmer::AngestelteIDHohlen()
{
   return AngestellteID;
}
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: Python und /oder QT

Beitrag von macman »

notebook20000 hat geschrieben:Wie kann ich das trpotzdem verwalten?
Eine weitere Spalte für den Index und deren Breite setzt Du auf 0. Ist für den User nicht sichtbar und er kann auch nicht drauf zugreifen.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Das wäre auch noch eine gute Idee. Daran hatte ich jetzt gar nicht gedacht:)
notebook20000
Beiträge: 16
Registriert: 21. Juni 2005 09:35

Weitere Spalte

Beitrag von notebook20000 »

Hallo,

wie geht sowas ? Wie kann ich eine weietre Spalte hinzufügen ?

Es geht um eine ComboBox oder Listbox!!

Ich setze derzeit mit

self.listBoxKunden.insertItem(row["kundenname"])

einen Eintrag

Das ist dann der Wert der auch angezeigt wird. Wie setze ich jetzt aber eine passende ID, so das ich abfragen kann welcher Eintrag mit welcher ID gewählt wurde
Antworten