Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. Qt - świeżak

Qt - świeżak

Scheduled Pinned Locked Moved Polish
3 Posts 3 Posters 1.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    dingorth
    wrote on last edited by
    #1

    @void MainWindow::on_Generoj_clicked()
    {

    min=ui->BMin->value();
    max=ui->BMax->value();
    tryb=ui->BTryb->currentIndex();
    n=ui->BIlosc->value();
    
    
    switch(tryb)
    {
    case 0:
    {
        FillRandomly(t,min,max,n);
    }
    case 1:
    {
        FillIncreasingly(t,min,max,n);
    }
    }
    QString tablicaNaTekst="";
    for(int k=0; k<n; k++)
        tablicaNaTekst.append(QString::number(t[k])+" ");
    
     ui->Tablica->setText(tablicaNaTekst);
    

    }@

    Witam, jestem jak to mówią "zielony" jeśli chodzi o Qt. Napotkałem pewien problem (pewnie trywialny), którym nie mogę sobie poradzić. Ten fragment kodu odpowiada za zdarzenie po kliknięciu przycisku Generuj ( metoda MainWindow::on_Generoj_clicked() ). Chcę, aby po każdym jego naciśnięciu tekst w LineEdicie Tablica zmienił się na tekst, którym de facto jest tablica t, która została wygenerowana przez metody Fill. Problem jest taki, że za pierwszym razem wszystko "śmiga", lecz za każdym kolejnym nie dzieje się nic. Proszę o pomoc, oraz odesłanie do odpowiedniej dokumentacji/artykułów/linków, z których dowiem się skąd się wziął mój błąd. Miło by było jakby ktoś jednak wytłumaczył co się dzieje. :) Z góry dziękuję. :)

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #2

      Nie wiemy, co to za zmienna 't' - nigdzie w podanym kodzie jej nie definiujesz. W związku z tym trudno podać jakieś rozwiązanie. To co podejrzewam, to że FillRandomly/ Increasingly dorzucają dane do tablicy 't', ale ty zawsze czytasz ją od zera do 'n', czyli dane początkowe. Ale to tylko moje zgadywanie

      Polecam programować po angielsku

      Nie musisz inicjalizować stringów (nie ma potrzeby robić dawać = "", zużywa to tylko niepotrzebnie pamięć)

      (Z(:^

      1 Reply Last reply
      0
      • E Offline
        E Offline
        egon81
        wrote on last edited by
        #3

        Pomogłoby jakbyś pokazał funkcję FillRandomly,FillIncreasingly.
        Czy zmianna t jest aby napewno zadeklarowana jako wskaźnik? Bo jezeli nie to jej wartośc się nie zmienia nawet po wykonaniu funkcji FillRandomly lub FillIncreasingly - zmienia się tylko w lokalnie utworznej zmiennej wewnatrz funkcji (najprawdopodobniej t to pusta tablica dlatego nic Ci się nie wyświetla).
        Zobacz o wywoływaniu funkcji z argumentem będącym referencją.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved