Wpisywanie tekstu do labelki - Qt

Wpisywanie tekstu do labelki - Qt
PoziomeQ
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 8 lat
  • Postów:133
0

Cześć,
mam taki problem. chciałbym aby podczas pewnego wczytywania labelka zmieniała się, konkretnie żeby wpisywały się do niej kropeczki:

Kopiuj
Wyszukiwanie.
Wyszukiwanie..
Wyszukiwanie...
Wyszukiwanie.
Wyszukiwanie..
Wyszukiwanie...
Wyszukiwanie.
Wyszukiwanie..
Wyszukiwanie...

i zrobiłem to tak:

Kopiuj
    do{
        ui->label_18->setText("Wyszukiwanie.");
        ui->label_18->setText("Wyszukiwanie..");
        ui->label_18->setText("Wyszukiwanie...");
    }while(ui->stackedWidget->currentIndex()==0);

ale niestety tak nie może być po program się po prostu zacina.
ma ktoś jakiś pomysł na taką funkcje?
może jakieś opóźnienie czasowe?

z góry dzięki za pomoc :)

xeo545x39
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Kosmos
  • Postów:1571
0

Ustaw timera albo sleepa na np. 1 sekundę i dodawaj kropki, a jak są 3 czyść labelkę i od nowa.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
KR
  • Rejestracja:około 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:353
0

Ja zrobilem cos takiego

Kopiuj
void MainWindow::getLink()
{
    ui->downloadLink->setText("Przetwarzam");
    requestTimer.start(300);
    maxvideo->setUrl(ui->addressBar->text());
    QEventLoop pause;
    connect(maxvideo,SIGNAL(finished()),&pause,SLOT(quit()));
    pause.exec();
    requestTimer.stop();
    ui->downloadLink->setText(maxvideo->getMovieTitle());
    ui->sourceBox->setPlainText(maxvideo->getHtmlSource());
}

void MainWindow::requestAni()
{
    if(!ui->downloadLink->text().compare("Przetwarzam"))
        ui->downloadLink->setText("Przetwarzam.");
    else if(!ui->downloadLink->text().compare("Przetwarzam."))
        ui->downloadLink->setText("Przetwarzam..");
    else if(!ui->downloadLink->text().compare("Przetwarzam.."))
        ui->downloadLink->setText("Przetwarzam...");
    else if(!ui->downloadLink->text().compare("Przetwarzam..."))
        ui->downloadLink->setText("Przetwarzam");
}

Odpalam timera ktory wywoluje funkcje requestAni. Tworze sobie obiekt QEventLoop ktory bedzie wykonywal "animacje" do czasu az nadejdzie sygnal o zakonczeniu pobierania kodu strony.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.