Anzeige:
Ergebnis 1 bis 7 von 7

Thema: QProcessDialog ohne Label??

  1. #1
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749

    QProcessDialog ohne Label??

    Hallo,
    mein ProcessDialog funktioniert schön. Aber das Label dass er anzeigen soll ist einfach nie drin enthalten: Ich benutze QT4.1.3

    Hier mal der code ausschnitt für den dialog:
    Es funktioniert weder so:
    Code:
    progress = new QProcessDialog("Dieser text wird nicht dargestelt...",0,min,max,*parent);
    progress->show();
    noch funktioniert es so:
    Code:
    progress = new QProcessDialog("*parent);
    progress->setRagen(min,max);
    QLabel* label = new QLabel(progress);
    label->setText("Dieser Text wird nicht dargestellt...");
    progress->setLabel(label);
    progress->show();
    laufen tuts natürlich ....nur eben ohne den Text...
    Danke vielmals für Hilfe!!!

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Probier statt "0" besser QString() als Parameter für den CancelButtonText
    Und "*parent"? Ist parent ein Pointer auf einen QWidget Pointer?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    eh ne sorry, der stern soll da nicht sein aber es funktioniert natürlich ohne stern auch net. Und egal ob ich QString verwende oder nicht...das label (und auch der cancel button) erscheinen nicht???

    EDIT:
    habe jetzt den dialog auf dem heap alloziieren lassen. Nachmeiner schleife lösche ich den Heap Platz NICHT und erst NACH der schleife erscheint dann das Label und der button...
    das verstehe ich jetzt aber nicht...soll/muss ich denn in der schleife die ganze Zeit das label setzen lassen? und erst am ende der funktion ein delete progress machen?
    Geändert von Mat (30-07-2006 um 20:21 Uhr)

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Kann die QEventLoop Event verarbeiten während du in der Schleife bist?
    Also wenn es eine echte Schleife im Sinne von for oder while ist, rufst du processEvents auf?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    nein ich rufe in meiner for schleife nicht events auf sollte ich das? also als beispiel ne stink normale for schleife
    Code:
     for(int i = 0; i < max; i++) { process->setValue(val); }
    sollte ich mit events arbeiten?
    wenn ja weiß ich nicht genau wie denn ich im DOku Beispiel steht nur was von:
    Code:
    for (int i = 0; i < numFiles; i++) {
                progress.setValue(i);
                qApp->processEvents();
    
                if (progress.wasCanceled())
                    break;
                //... copy one file
            }
    Geändert von Mat (31-07-2006 um 18:38 Uhr)

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Eben, da steht
    Code:
    qApp->processEvents()
    Wenn du Qt nicht erlaubst die GUI zu ändern, sich eine Änderung schwer auswirken

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    24.08.2004
    Beiträge
    749
    hmm aha....so gehts jetzt

    hmm falls jemand Zeit und Lust hat zu erklären -> ich bin gern Ohr....ansonsten versuch ich mich durch die Doku zu kämpfen...

    Danke

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •