C++, Qt wczytywani danych do QComboBox
Ostatnio zmodyfikowano 2016-04-09 17:54
Kefirek Temat założony przez niniejszego użytkownika |
C++, Qt wczytywani danych do QComboBox » 2016-04-09 13:16:39 Witam Przy wczytywaniu danych(3470 wersów, wersy do 40 znaków) z pliku txt do comboBox'a trochę to trwa to znaczy ok 3 sekund. Program sprawia wrażenie zawieszonego. Moje pytanko: czy da się przyśpieszyć wczytanie dużych ilości danych do QComboBox'a i innych kontrolek kontenerowych?. Pozdrawiam |
|
Gibas11 |
» 2016-04-09 13:46:01 A ile plik otwiera się np. notatnikiem? |
|
Kefirek Temat założony przez niniejszego użytkownika |
» 2016-04-09 13:50:59 Plik Notatnikiem otwiera się grubo poniżej 1 sekundy. |
|
Gibas11 |
» 2016-04-09 13:55:08 A jak to wczytujesz? Zarzuć kawałkiem kodu. W każdym razie problemem nie jest skrajnie niska prędkość dysku. |
|
Kefirek Temat założony przez niniejszego użytkownika |
» 2016-04-09 14:05:22 Dysk mam SSD więc jest szybki. Oto kod: void CMiniLotto::FilingCBXFormBase( QComboBox * pCBox, QString path ) { QFile file( path ); if( !file.open( QIODevice::ReadOnly | QIODevice::Text ) ) return; QTextStream in( & file ); in.setCodec( "UTF-8" ); int i = 0; while( !in.atEnd() ) { pCBox->addItem( in.readLine() ); pCBox->setItemIcon( i, QIcon( ":/icons/minilotto64.png" ) ); i++; } in.flush(); file.close(); }
|
|
Kefirek Temat założony przez niniejszego użytkownika |
» 2016-04-09 14:15:12 Właściwie to jak spojrzałem w kod to zauważyłem, że do dodanie ikony do CombaBox znacznie spowalnia wczytanie danych do Comba. po wykomentowaniu lini kodu: pCBox->setItemIcon( i, QIcon( ":/icons/minilotto64.png" ) );
wczytuje błyskawicznie. Właśnie teraz pojawia się dylemat - bo w takim razie trzeba zrezygnować z ikonek w comboBoxie na rzecz wydajności. No, ale może jest jakieś rozwiązanie???. |
|
Gibas11 |
» 2016-04-09 14:18:02 1. Co robi in.flush() ? Nie wydaje się potrzebne. 2. Ta linia ":/icons/minilotto64.png" nie wczytuje przypadaiem pliku z dysku co wiersz? No i nie wygląda to jak poprawna ścieżka. |
|
Gibas11 |
» 2016-04-09 14:19:59 O, uprzedziłeś mnie. D: Nie da się w Qt jednorazowo wczytać pliku i potem się nim posługiwać?
A właśnie (nie siedzę za bardzo w Qt) – to ikonka do całego QComboBox czy osobno do każdego elementu? |
|
« 1 » 2 |