Budowanie listy na podstawie kliknięć
-
Witam. Mój projekt (QT GUI) buduje krzywą na podstawie "kliknięć" w okienku mainwindow po wywołaniu. Do tworzenia krzywej zastosowałem tablicę statyczną (do niej wędrują współrzędne sczytywane z okienka), w związku z czym mogę dodać tylko określoną liczbę punktów. Chciałbym zamienić tablicę statyczną na listę, ale nie mam pomysłu jak to zrobić aby program się nie "krzaczył". Czy ktoś byłby w stanie przybliżyć mi jak odpowiednio zaimplementować listę do kodu?
Link do projektu:
"Your text to link here...":http://www.sendspace.pl/file/a923339a24b49fdba49cfe6 -
Nie ma sensu implementować list samemu, mądrzy ludzie zrobili to za ciebie lata temu:
@
QMap<int, int> lista;
// Albo QHash, albo QList<QPair<int, int> >
@ -
Dla QMap/QHash mogłyby się klucze powtarzać, także tak jak napisałeś "QList":http://qt-project.org/doc/qt-4.8/qlist.html z "QPair":http://harmattan-dev.nokia.com/docs/library/html/qt4/qpair.html powinna dać radę :D
-
A jasne, faktycznie nie pomyślałem :)
-
Choć QMultiMap i QMultiHash zaradziłyby problemowi powtarzających się kluczy, to rysowanie byłoby bardziej skomplikowane niż w przypadku ułożonej w kolejności QList. QList
Jeśli mamy po prostu do czynienia z rysowaniem kolejnych punktów, to zamiast QPair polecam "QPoint":http://qt-project.org/doc/qt-5.0/qtcore/qpoint.html - deklaracja takiego kontenera będzie jaśniejsza pod kątem zastosowania.@ QList<QPoint> points; @
-
Hmm, dzięki za rady. Jakoś udało mi się zaimplementować listę i tablicę dynamiczną struktur i program działa, ale chciałem się jeszcze upewnić czy dobrze zwalniam pamięć:
mając strukturę
struct Punkt
{ double x,y;};
i n elementową tablicę dynamiczną struktur do zwolnienia pamięci wystarczy mia samo delete czy muszę to zrobić w inny sposób?