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 WitamPrzy 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 |