crismblog | `neața | 07:42 |
---|---|---|
sbivol | salut! dacă este cineva cu cunoştinţe de Qt prin preajmă, da-ţi-mi un ping vă rog | 11:38 |
sbivol | FlowRiser: salut. eşti? | 18:59 |
FlowRiser | sbivol, da | 19:54 |
FlowRiser | adormisem | 19:54 |
sbivol | am cîteva întrebări ref. la Qt | 19:54 |
FlowRiser | sbivol, pai zi | 19:55 |
sbivol | fac o aplicaţie pentru lucrul cu ştiri. cînd folosesc model-view, am de reprezentat date sub formă de tabel: autorul, data creării, titlul, ş.a. ce fel de model trebuie să foloses pentru asta – QAbstractListModel sau QAbstractTableModel? | 19:59 |
FlowRiser | ce versiune de Qt folosesti, mai intai? | 20:00 |
sbivol | PyQt 4.10 cu Qt 4.8 | 20:01 |
FlowRiser | sunt nesigur daca poti folosi un TableView | 20:01 |
FlowRiser | ah, e de la 5.1 in sus | 20:02 |
FlowRiser | Ambele modele de care mi-ai zis sunt doar abstractizari | 20:03 |
FlowRiser | Eu unul nu m-as incurca cu ele, decat daca as avea ceva foarte custom | 20:03 |
sbivol | da, din ele mi-am făcut propriile modele | 20:03 |
FlowRiser | oricare dintre ele e ok | 20:04 |
sbivol | m-am descurcat cu vizualizările de creare şi redactare a obiectelor (de ex. utilizatori) | 20:04 |
sbivol | nu înţeleg cum să reprezint o listă de utilizatori. cum trebuie să arate modelul şi view-ul | 20:04 |
FlowRiser | pai sa iti dau un exemplu | 20:05 |
FlowRiser | nu stiu cata experienta ai cu un MVC, dar in Qt e foarte misto sa folosesti asa ceva | 20:05 |
FlowRiser | Modelul, gandeste-te ca numele coloanelor unui tabel; Nu trebuie sa fie neaparat QAbstractListModel sau QAbstractTableModel | 20:06 |
sbivol | PS: folosesc SQLalchemy ca ORM | 20:07 |
FlowRiser | Deobicei modelul depinde de cum vrei sa-l avisezi intr-un view | 20:08 |
FlowRiser | Vrei sa poti modifica fiecare celula a fiecarui rand? | 20:09 |
sbivol | nu. tabelul e numai pentru afişare. la dublu-clic pe un rînd al tabelului urmează să deschid ştirea în filă nouă, separat de table | 20:11 |
sbivol | nici măcar de sortare sau filtrare n-am nevoie în tabel, deocamdată | 20:12 |
FlowRiser | atunci foloseste un QAbstractListModel si reda contentul intr-un ListView | 20:13 |
FlowRiser | dupa ce faci modelul, tot ce trebuie sa faci este sa il dai ca parametru la la ListView si o sa ti-l ia automat | 20:13 |
sbivol | exact, dar aici încep problemele | 20:18 |
FlowRiser | de ce? | 20:18 |
sbivol | ca listă le pot afişa, dar ca tabel nu ştiu cum să le afişez. problema mea constă în extragerea atributelor modelului ca să le afişez în view. | 20:21 |
sbivol | modelul are metoda data(), care întoarce date în funcţie de rol (Qt.DisplayRole...). momentan întorc doar titlul ştirii ca să-l afişez în ListView | 20:21 |
sbivol | pentru TableView am nevoie de mai multe date. Să încerc să întorc un array sau un dicţionar în metoda data()? | 20:23 |
sbivol | ListView îşi ia automat datele pentru DisplayRole, nu pot să-i zic care element al dicţionarului e titlul, care-i data creării | 20:24 |
FlowRiser | parca puteai sa ii dai la listview setColumn() sau ceva | 20:25 |
FlowRiser | asa da, se poate da ce coloana e vizibila cu setModelColumn(int column) | 20:26 |
sbivol | nu găsesc aşa ceva | 20:27 |
FlowRiser | http://qt-project.org/doc/qt-4.8/qlistview.html#modelColumn-prop | 20:28 |
sbivol | aha | 20:28 |
FlowRiser | Incearca daca tot ai nevoie decat de un rand cu ListView | 20:28 |
FlowRiser | Daca faci cu tableview e putin cam incurcat cand o sa ajungi la sa selectezi tot randul | 20:29 |
sbivol | mă descurc cu selectatul rîndului, am făcut asta într-o aplicaţie precedentă | 20:30 |
* sbivol prelucrează informaţia | 20:30 | |
FlowRiser | sa fiu sincer nu am incercat niciodata PyQt-ul | 20:39 |
FlowRiser | acum m-ai facut curios | 20:39 |
sbivol | eu am făcut odată o aplicație Qt + MySQL, era folosită pentru a afișa rezultatele unui televoting în timp real. am rămas cu un gust amar de la C++ | 20:46 |
sbivol | în schimb mi-a plăcut foarte mult Qt | 20:46 |
FlowRiser | Adevarul este ca te obisnuiesti cu C++-ul pana la urma | 20:47 |
FlowRiser | si apoi devine super puternic | 20:47 |
sbivol | nici nu mă îndoiesc | 20:48 |
sbivol | pur și simplu mi-i mai ușor să iterez cu „for user in users do:” decît să fac iteratori în C++ | 20:49 |
sbivol | lenea e unul din factori :) | 20:50 |
FlowRiser | ah vezi ca s-a bagat foreach(User user in Users){} | 20:50 |
FlowRiser | e foarte tare xD | 20:50 |
sbivol | mulțumesc pentru sfaturi, încerc să le folosesc imediat... | 20:53 |
Anuska | hello | 20:55 |
Anuska | ddf, still alive? | 20:56 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!