[abgescheift] QListView mehrzeilige Ausgabe
[abgescheift] QListView mehrzeilige Ausgabe
hi,
ich muss dafür sorgen, dass ein QListView mehrzeilige Ausgaben machen kann... kann mir da einer helfen?
Danke
Esleborn
ich muss dafür sorgen, dass ein QListView mehrzeilige Ausgaben machen kann... kann mir da einer helfen?
Danke
Esleborn
Zuletzt geändert von Esleborn am 25. Mai 2006 16:09, insgesamt 3-mal geändert.
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Qmap macht dass selbe...
typedef QMap<int, QStringList> resultMap;
einfach zum setzen und zum lesen....
lade doch ...
svn co http://ciz.ch/svnciz/forms_shop/ test
cd test && qmake && make
gerate heute getestet mit window , mac , linux...
hat sqlite3 aber brauchst keine qtsql-plug oder datenbank in... hat alles dabei um eine statische libs zu bauen
die applikation aus dem binary-result dir (ordner) starten da dort die xml config ist...
um eine muster sql zu laden...
typedef QMap<int, QStringList> resultMap;
einfach zum setzen und zum lesen....
lade doch ...
svn co http://ciz.ch/svnciz/forms_shop/ test
cd test && qmake && make
gerate heute getestet mit window , mac , linux...
hat sqlite3 aber brauchst keine qtsql-plug oder datenbank in... hat alles dabei um eine statische libs zu bauen
die applikation aus dem binary-result dir (ordner) starten da dort die xml config ist...
um eine muster sql zu laden...
Code: Alles auswählen
resultMap Sqlitedb::Query_Qmap_Report(const QString & fullquery)
{
resultMap res;
if (!isOpen()) {
return res; /* not connect! */
}
SqlLog(QString( "%1 from Query_Qmap_Report 1" ).arg( fullquery )); /* internal log */
sqlite3_stmt *vm;
const char *tail;
int ncol;
/*int rownum = 0;*/
int recnum = 0;
QString r;
int err=0;
QStringList linelister;
err=sqlite3_prepare(_db,fullquery.toUtf8().constData(),-1,&vm, &tail);
if (err == SQLITE_OK) {
while ( sqlite3_step(vm) == SQLITE_ROW ){
ncol = sqlite3_data_count(vm);
recnum++;
linelister.clear();
/*file_put_contents_append_debug("resloop.dat","--------------------");*/
for (int e=0; e<ncol; e++){
r = QString::fromUtf8((const char *) sqlite3_column_text(vm, e));
linelister.append(r);
/*file_put_contents_append_debug("resloop.dat",QString("%1 dat = %2" ).arg( QString::number(e) , r ));*/
}
res.insert(recnum,linelister);
}
sqlite3_finalize(vm);
} else {
lastErrorMessage = QString::fromUtf8(sqlite3_errmsg(_db));
}
return res;
ähhh patrik08 ich kapier deinen Posts nicht wirklich...
Und was hat dein Code mit dem Problem zu tun?
Wie kommst du von einem QListView (auch wenn du es als QList interpretiert hast) auf irgendwas mit SQL?
....Naja egal.
Zurück zum QListView... einer ne Idee?
PS: Was sollte eine Multiline bei einem QList sein? Naja auch egal...
kann passieren.patrik08 hat geschrieben:Sorry ich dachte an einen qlist so wie array...
Wo drin?patrik08 hat geschrieben:aber eine QListView als widget ist dort auch drinnen.....
Und was hat dein Code mit dem Problem zu tun?
Wie kommst du von einem QListView (auch wenn du es als QList interpretiert hast) auf irgendwas mit SQL?
....Naja egal.
Zurück zum QListView... einer ne Idee?
PS: Was sollte eine Multiline bei einem QList sein? Naja auch egal...
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Qlist....Esleborn hat geschrieben:äh
PS: Was sollte eine Multiline bei einem QList sein? Naja auch egal...
ist sowas...
Inserts value at the end of the list.
Example:
QList<QString> list;
list.append("one");
list.append("two");
list.append("three");
// list: ["one", "two", "three"]
was im grunde genommen das selbe ist wie ein QStringList
und dass selbe resultat geht mit qmap und sicher auch qvariant...
In PHP uebersetz sind alle diese begriffe ein array.... aber ich kann begreifen dass qt so wiele benennung hat .. da auch vielen typen von daten kommen...
Dein Qlistwiev ist wie der Qtreeview aber immer nur eine line....
kennst du nicht subversion?? von diene letzte frage?
ähh patrik08 könntest du bitte wieder zum Threadthema zurückkehren?
Und zu dem .... interessanten das du gepostet hast:
Äähh meine letzte Frage war Was sollte eine Multiline bei einem QList sein? oder ohne PS Wie kommst du von einem QListView (auch wenn du es als QList interpretiert hast) auf irgendwas mit SQL? ... in keine davon kokmmt Subversion auch nur vor. Und ja ich kenne subversion relativ gut... (wie auch immer du jetzt darauf kommst)
Bitte zurück zum Thema (siehe erster Post)
Und zu dem .... interessanten das du gepostet hast:
Danke ich weiß was ein QList ist, aber multiline hat da nichts mit zu tun. Mehrzeilige QList ist Schwachsinn... was soll eine Zeile einer Liste sein? Ein Element? Listen mit mehreren Elementen ist schon fast eine Tautologie...patrik08 hat geschrieben:Qlist....Esleborn hat geschrieben:äh
PS: Was sollte eine Multiline bei einem QList sein? Naja auch egal...
ist sowas...
Inserts value at the end of the list.
Example:
QList<QString> list;
list.append("one");
list.append("two");
list.append("three");
// list: ["one", "two", "three"]
[...]
Ähh um ganz genau zu sein erbt QStringList von QList<QString>... und ist nciht "das gleiche". QMap ist wiederrum was ganz anderes, da es Keys und zugehörige Values speichert. QVariant wiederrum hat mit beidem NIX zu tun, außer das man ein QVariant aus den anderen erstellen kann und QLists von QVariants machen kann... Die PHP Erklärung wiederrum hat gegenüber von C++ Programmiereren keinen Sinn (da PHP schächer als CPP ist, aber die Diskusion soll hier nciht starten!), außer man fragt nach einem Vergleich zu PHP...patrik08 hat geschrieben:[...]
was im grunde genommen das selbe ist wie ein QStringList
und dass selbe resultat geht mit qmap und sicher auch qvariant...
In PHP uebersetz sind alle diese begriffe ein array.... aber ich kann begreifen dass qt so wiele benennung hat .. da auch vielen typen von daten kommen...
[...]
Quatsch. QListView und QTreeView sind beides Views (Model/View Struktur) und das war ihre gemeinsamkeit auch schon. QTreeView baut eine Baumstruktur auf, während QListView nur eine List anzeigt (sry für starke Vereinfachung) oder meintest du das mit "nur einer line" (was auch immer bei dir ne line (zu Deutsch "Linie") ist)patrik08 hat geschrieben:[...]Dein Qlistwiev ist wie der Qtreeview aber immer nur eine line....
kennst du nicht subversion?? von diene letzte frage?
Äähh meine letzte Frage war Was sollte eine Multiline bei einem QList sein? oder ohne PS Wie kommst du von einem QListView (auch wenn du es als QList interpretiert hast) auf irgendwas mit SQL? ... in keine davon kokmmt Subversion auch nur vor. Und ja ich kenne subversion relativ gut... (wie auch immer du jetzt darauf kommst)
Bitte zurück zum Thema (siehe erster Post)
Glaube an eine Lösung, nur dann kannst du auch eine finden.
gut dann habe ich einen designer der nicht von qt4 ist ....
ob tree oder list er nimmt immer
QListWidgetItem ..... genau wie den tree...
beim start der benennung der classe nimmt er ein anderen Model/View
Ich glaube kaum dass mein designer luegt....
>>>>> in keine davon kokmmt Subversion auch nur vor. <<<<<
zitat vom ersten post.....
lade doch ...
svn co http://ciz.ch/svnciz/forms_shop/ test
cd test && qmake && make
dort sind beide enthalten..... als source!
ob tree oder list er nimmt immer
QListWidgetItem ..... genau wie den tree...
beim start der benennung der classe nimmt er ein anderen Model/View
Ich glaube kaum dass mein designer luegt....
>>>>> in keine davon kokmmt Subversion auch nur vor. <<<<<
zitat vom ersten post.....
lade doch ...
svn co http://ciz.ch/svnciz/forms_shop/ test
cd test && qmake && make
dort sind beide enthalten..... als source!
Code: Alles auswählen
listWidget->clear();
QListWidgetItem *__item = new QListWidgetItem(listWidget);
__item->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8));
QListWidgetItem *__item1 = new QListWidgetItem(listWidget);
__item1->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8));
QListWidgetItem *__item2 = new QListWidgetItem(listWidget);
__item2->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8));
QListWidgetItem *__item3 = new QListWidgetItem(listWidget);
__item3->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8));
QListWidgetItem *__item4 = new QListWidgetItem(listWidget);
__item4->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8));
Bitte wenn du keine Ahnung hast wovon du redest, sei bitte ruhig.patrik08 hat geschrieben:gut dann habe ich einen designer der nicht von qt4 ist ....
ob tree oder list er nimmt immer
QListWidgetItem ..... genau wie den tree...
QTreeWidget verwendet QTreeWidgetItem
QListWidget verwendet QListWidgetItem
Ich rede aber von QListView, bei dem es keine QListWidgetItems gibt. (und sowieso keine QTreeWidgetItems)
Was das ganze mit dem Designer zu tun hat ist die nächste Frage...
Was auch immer die sagst...patrik08 hat geschrieben:beim start der benennung der classe nimmt er ein anderen Model/View
Ich glaube kaum dass mein designer luegt....
Was ist enthalten... egal ich will keine Beispiele von dir sehen!patrik08 hat geschrieben:>>>>> in keine davon kokmmt Subversion auch nur vor. <<<<<
zitat vom ersten post.....
lade doch ...
svn co http://ciz.ch/svnciz/forms_shop/ test
cd test && qmake && make
dort sind beide enthalten..... als source!
Wie gesagt QListWidgetItems haben hier ncihts verloren...patrik08 hat geschrieben:Code: Alles auswählen
listWidget->clear(); QListWidgetItem *__item = new QListWidgetItem(listWidget); __item->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8)); QListWidgetItem *__item1 = new QListWidgetItem(listWidget); __item1->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8)); QListWidgetItem *__item2 = new QListWidgetItem(listWidget); __item2->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8)); QListWidgetItem *__item3 = new QListWidgetItem(listWidget); __item3->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8)); QListWidgetItem *__item4 = new QListWidgetItem(listWidget); __item4->setText(QApplication::translate("Dialog", "New Item", 0, QApplication::UnicodeUTF8));
An den Mod: könntest du bitte alles bis auf meinen allerersten (threadstartenden) Beitrag aus diesem Thread "raus splitten"? So dass dieser Thread sich wieder mit dem ursprünglichen Thema auseinander setzen kann...?
Und patrik08 bitte ignoriere meine Fragen in Zukunft.
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Ich wollte dich nur helfen ... mit deine frage wie macht man einen QListWidget ... gut mache ich den designer auf und mache eins ....Esleborn hat geschrieben:Und patrik08 bitte ignoriere meine Fragen in Zukunft.
zu deiner unzufriedenheit macht nun der designer viele QTreeWidgetItem und nicht QListWidgetItem....
Warum fragst du denn wie man... zitat....
>>> QListView mehrzeilige Ausgaben machen kann... kann mir da einer helfen? <<<<<
Wass muss man dabei denken?
War nie meine Frage, wie wäre es wenn du genauer liest?patrik08 hat geschrieben:Ich wollte dich nur helfen ... mit deine frage wie macht man einen QListWidget ...Esleborn hat geschrieben:Und patrik08 bitte ignoriere meine Fragen in Zukunft.
Meine Frage war wie man in QListViews mehrzeilige Items darstellen kann.
Fehlerhaft, meine Unzufriendenheit ging darauf zurück, dass deine Antwort nichts mit der Frage zu tun hatte und dass du auf einen entsprechenden Hinweis nicht reagiert hast.patrik08 hat geschrieben:gut mache ich den designer auf und mache eins ....
zu deiner unzufriedenheit macht nun der designer viele QTreeWidgetItem und nicht QListWidgetItem....
Ich fragte, weil ich wissen will wie man Items mit mehreen Zeilen in einem QListView darstellen kann. Deine Antworten gingen um:patrik08 hat geschrieben:Warum fragst du denn wie man... zitat....
>>> QListView mehrzeilige Ausgaben machen kann... kann mir da einer helfen? <<<<<
Wass muss man dabei denken?
QList, QStringList, QVariant, QMap, QListWidget, QTreeWidget, QTreeWidgetItem, SQL und nie um das Thema. (vergleiche Forenregeln)
Was du mit deiner letzten Frage meinst versteh ich nicht, aber ich will auch nicht, dass du es mir erklärst.
Ich bitte den Mod bisherige Antworten zu meiner Frage zu extrahieren.
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Gut.... dann sag mir wo ist der unterschied zwischen...
ausser den name... von
http://doc.trolltech.com/4.1/qlistwidget.html
http://doc.trolltech.com/4.1/qlistview.html
und shaue auf die bilder....
Ich ... so wie du... bin auch Iher zum lernen...
PS:
Mit den slots habe ich die erfahrung gemacht bei qlistwidget und kann sagen die sind besser als qlistview
ausser den name... von
http://doc.trolltech.com/4.1/qlistwidget.html
http://doc.trolltech.com/4.1/qlistview.html
und shaue auf die bilder....
Ich ... so wie du... bin auch Iher zum lernen...
PS:
Mit den slots habe ich die erfahrung gemacht bei qlistwidget und kann sagen die sind besser als qlistview
QListWidget erbt von QListView. Die Darstellung von beiden ist gleich. Nur bei QListView kommen die infos aus einem "echten" Model, bei QListWidget werden die Daten durch QListWidgetItems eingefüllt. Beode unterstützen die selbe Art von Signal und Slots nur bei QListView wird über Indexes gearbeitet und bei QListWidget über die QListWidgetItems...
An die Mods: Thema nicht mehr splitten, ich mach nen neues auf...Qt Doku hat geschrieben:The QListWidget class provides an item-based list widget.
QListWidget is a convenience class that provides a list view similar to the one supplied by QListView, but with a classic item-based interface for adding and removing items. QListWidget uses an internal model to manage each QListWidgetItem in the list.
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Im grunde genommen muss mann bei slot nicht wissen was unten in der liste oder tree fuer daten sind ...
sondern ich spreche direkt den QTreeWidget oder QListWidget an der obersten ..... aber ich setzte den slot auf dem untersten...
QTreeWidgetItem *sigle = new QTreeWidgetItem(paeort);
AddoLoad.append(daten); /* qstringlist daten inpacken*/
sigle->setText(0,daten);
connect(addo_tree, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(Safari()));
und mann kann alle daten ansprechen... gleich wie list...
Oder hast du ein besondernen qmodel geschrieben?? um es noch einfacher zu machen?
sondern ich spreche direkt den QTreeWidget oder QListWidget an der obersten ..... aber ich setzte den slot auf dem untersten...
QTreeWidgetItem *sigle = new QTreeWidgetItem(paeort);
AddoLoad.append(daten); /* qstringlist daten inpacken*/
sigle->setText(0,daten);
connect(addo_tree, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(Safari()));
und mann kann alle daten ansprechen... gleich wie list...
Code: Alles auswählen
/* slot von list oder tree alle varianten den obersten /*
void Shop_Main::Safari()
{
int xcol = addo_tree->currentColumn();
QString findertree = addo_tree->currentItem()->text(xcol);
int total = AddoLoad.size();
if (total > 0) {
QStringListIterator i(AddoLoad);
while (i.hasNext()) {
QString itemtext = i.next().toLocal8Bit().constData();
if (itemtext == findertree) {
current_addo_item->setText(itemtext);
}
}
}
}
Oder hast du ein besondernen qmodel geschrieben?? um es noch einfacher zu machen?
Wass meinst du mit mehrzeiligen? doch ein Tree? oder eine zeile mit x kolonnen? (ist auch ein tree kolonne 0,1,2,ecc eben flach wie table..) Ich wollte auch das Item(list/tree) ableiten um checked zu haben ....doch am ende habe ich eindeutig gesehen dass.... fast alles von der obere classe des item/list machbar ist.... slot emit ecc... sogar qmenusEsleborn hat geschrieben:ja ich hab ein eigenes QModel geschrieben. Sonst würde ich keine mehrzeiligen Daten auf ein QListView haben.