Code:
#ifndef MYITEM_H
#define MYITEM_H
#include <qlistview.h>
class MyItem : public QListViewItem
{
public:
MyItem(QListView* view, const QString& name, const QString& sorter, const QString& time);
//name = Schülername (z.B. Lieschen Müller) sorter = 021445 (für Dienstag 14:45 Uhr) time = "Dienstag 14:45" als QString
virtual int compare(QListViewItem* item, int col, bool ascending) const;
virtual int getsorterint(const QString& sorter) const;
private:
QString compsorter;
};
MyItem::MyItem(QListView* view, const QString& name, const QString& sorter, const QString& time)
: QListViewItem(view),
compsorter(sorter)
{
setText(0, name);
setText(1, time);
compsorter=sorter;
}
int MyItem::compare(QListViewItem* item, int col, bool ascending) const
{
// nur erste spalte selber vergleichen
if (col != 1) return QListViewItem::compare(item, col, ascending);
MyItem* other = static_cast<MyItem*>(item);
return other->getsorterint(compsorter)-getsorterint(compsorter);
//hier wollte ich einfach die Differenz von dem einen sorter und dem von other zurückgeben lassen in der Hoffung dass das dann klappt.
}
int MyItem::getsorterint(const QString& sorter) const
{
int sorterint;
bool ok;
sorterint = sorter.toInt(&ok, 10);
return sorterint;
}
#endif
Leider kann ich das nicht testen da ich folgende Fehlermeldung beim kompileren bekomme:
Code:
cd '/home/doitux/Projekte/qt-c++/qupil/' && QTDIR="/usr/qt/3" gmake -j1
test -d bin/ || mkdir -p bin/
Linken der Datei bin/qupil (g++)
obj/qupiladdpupilimpl.o: In function `MyItem::compare(QListViewItem*, int, bool) const':
qupiladdpupilimpl.cpp:(.text+0x16c): multiple definition of `MyItem::compare(QListViewItem*, int, bool) const'
obj/qupil.o:qupil.cpp:(.text+0x16c): first defined here
obj/qupiladdpupilimpl.o: In function `MyItem::getsorterint(QString const&) const':
qupiladdpupilimpl.cpp:(.text+0x1d8): multiple definition of `MyItem::getsorterint(QString const&) const'
obj/qupil.o:qupil.cpp:(.text+0x1d8): first defined here
obj/qupiladdpupilimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
qupiladdpupilimpl.cpp:(.text+0x0): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0x0): first defined here
obj/qupiladdpupilimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
qupiladdpupilimpl.cpp:(.text+0xb6): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0xb6): first defined here
obj/qupilmainwindowimpl.o: In function `MyItem::compare(QListViewItem*, int, bool) const':
qupilmainwindowimpl.cpp:(.text+0x16c): multiple definition of `MyItem::compare(QListViewItem*, int, bool) const'
obj/qupil.o:qupil.cpp:(.text+0x16c): first defined here
obj/qupilmainwindowimpl.o: In function `MyItem::getsorterint(QString const&) const':
qupilmainwindowimpl.cpp:(.text+0x1d8): multiple definition of `MyItem::getsorterint(QString const&) const'
obj/qupil.o:qupil.cpp:(.text+0x1d8): first defined here
obj/qupilmainwindowimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
qupilmainwindowimpl.cpp:(.text+0x0): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0x0): first defined here
obj/qupilmainwindowimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
qupilmainwindowimpl.cpp:(.text+0xb6): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0xb6): first defined here
obj/qupilbirthdayreminderimpl.o: In function `MyItem::compare(QListViewItem*, int, bool) const':
qupilbirthdayreminderimpl.cpp:(.text+0x16c): multiple definition of `MyItem::compare(QListViewItem*, int, bool) const'
obj/qupil.o:qupil.cpp:(.text+0x16c): first defined here
obj/qupilbirthdayreminderimpl.o: In function `MyItem::getsorterint(QString const&) const':
qupilbirthdayreminderimpl.cpp:(.text+0x1d8): multiple definition of `MyItem::getsorterint(QString const&) const'
obj/qupil.o:qupil.cpp:(.text+0x1d8): first defined here
obj/qupilbirthdayreminderimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
qupilbirthdayreminderimpl.cpp:(.text+0x0): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0x0): first defined here
obj/qupilbirthdayreminderimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
qupilbirthdayreminderimpl.cpp:(.text+0xb6): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0xb6): first defined here
obj/moc_qupilmainwindowimpl.o: In function `MyItem::compare(QListViewItem*, int, bool) const':
moc_qupilmainwindowimpl.cpp:(.text+0x16c): multiple definition of `MyItem::compare(QListViewItem*, int, bool) const'
obj/qupil.o:qupil.cpp:(.text+0x16c): first defined here
obj/moc_qupilmainwindowimpl.o: In function `MyItem::getsorterint(QString const&) const':
moc_qupilmainwindowimpl.cpp:(.text+0x1d8): multiple definition of `MyItem::getsorterint(QString const&) const'
obj/qupil.o:qupil.cpp:(.text+0x1d8): first defined here
obj/moc_qupilmainwindowimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
moc_qupilmainwindowimpl.cpp:(.text+0x0): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0x0): first defined here
obj/moc_qupilmainwindowimpl.o: In function `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)':
moc_qupilmainwindowimpl.cpp:(.text+0xb6): multiple definition of `MyItem::MyItem(QListView*, QString const&, QString const&, QString const&)'
obj/qupil.o:qupil.cpp:(.text+0xb6): first defined here
collect2: ld gab 1 als Ende-Status zurück
gmake: *** [bin/qupil] Fehler 1
*** Beendet mit Status: 2 ***
Ich kann das leider überhaut nicht deuten. Kennst du solche Meldungen? Warscheinlich hab ich da irgendwas vermurkst
Lesezeichen