Closed gelldur closed 11 years ago
Zgubilem sie troche w kodzie. Czy napisales ta metoda, ktora wyciaga okreslona ilosc taskow z bazy? Jesli tak, to jak sie ona zwie?
Zobacz do taska jak możesz jest tam napisane jaka metoda i przykład w kodzie. Issue #22
Hmm mialem to w glowie, ale jak zobaczylem to, to mi z to moje z glowy wylecialo. Musze sobie obczaic o co kaman z tym wektorem. Bo widze ze wlasnie zwraca ta metoda, wektor. I teraz np tworze sobie metode, a w niej podaje sobie getMostPopular(20), bierze mi tych 20 tasow najbardziej popularnych, zwraca mi je jako wektor. Ok, mam wektor 20 taskow, teraz ten wektor mam sobie zamienic na QStringList i to zwrocic, zgadza sie? To wtedy zostanei mi kwestia przerobienia tego na QStringList.
tak dokładnie tak. Najprościej przeiteruj się po elementach wektora i wrzuć co Ci potrzeba do listy. http://www.cplusplus.com/reference/vector/vector/
hmm, wyskakuje mi jeden error w mojej metodzie, probuje dojsc co jest nie tak, ale niczego nie odkrylem. Moglbys rzucic na to okiem? w linijce: tasksList->operator<<(&str); wyskakuje error: no matching function for call to 'QStringList::operator<<(QString*)'
QStringList MainWindow::setAutoCompleter() { QStringList *tasksList; TaskManager autoCompleter; vector<Task> *pSetTasks = autoCompleter.getMostPopular(20);
for(int j=0; j<pSetTasks->size(); ++j)
{
Task *tasks = pSetTasks->at(j);
QString str = tasks->getTitle();
tasksList->operator<<(&str);
}
return tasksList;
}
No pisze jak nic ,że nie ma metody na dodanie wskaźnika na QStringa musisz zrobić tasksList->operator<<(str);
Zakomentowalem podpiecie pod myList = setAutoCompleter(), bo wywala program, nie wiem dlaczego. A jak z ta metoda? Nadaje sie?
Metoda nadaje się ;) tylko musisz posprzątać po sobie pSetTasks trzeba delete zrobić. No i aby działało to ;)
Delete zrobiony, ale program nadal wywala po kompilacji z powodu tej linijki QStringList *myList = setAutoCompleter();
2012/12/22 Zecken notifications@github.com
Metoda nadaje siê ;) tylko musisz posprz±taæ po sobie pSetTasks trzeba delete zrobiæ. No i aby dzia³a³o to ;)
Reply to this email directly or view it on GitHubhttps://github.com/gelldur/Kino-Time-Tracker/issues/30#issuecomment-11639797.
Maciej Nowak
Też nie zajrzałeś do metody której używasz ,że może zwrócić ci NULL więc nic dziwnego. W sumie to wina dokumentacji której narazie nie robimy. Niestety to was nie zwalnia z tego :). Zpulluj sobie kod.
Na przyszłość polecam spr co gdzie nie idzie najprościej wstawiając sobie jakieś qDebug albo coś w tym stylu i tak powoli dochodzić gdzie się wywala.
o szał, it works! :dancer: jesli okej, to do zamkniecia ;)
Nom na przyszłość zaopatrz się w jakiś edytor bazy sqlite abyś mógł ręcznie dodawać sobie wpisy w bazie np do testowania albo coś.
Trzeba wykorzystać taska którego robił Maciek: Issue #16 . Teraz trzeba się zastanowić jak cachować dane z bazy danych aby było możliwe to autopodpowiadanie. Musi być to zrobione optymalnie :D