QT - Czekanie na zamknięcie okna

0

Cześć mam do was pytanie w jaki sposób poradzić sobie z takim problemem .

Mam funkcję wywoływaną poprzez klieknięcie w formularzu klawisza logowanie reczne , w której chce uruchomić po kolei :

1.Uruchomienie okna pokaż klawiaturę numeryczną , w której będę wpisywał identyfikator klienta , i ktora ,gdy zostanie w niej kliknięty klawisz Zatwierdz , zwraca mi wpisany ID który pobieram z QLineEdit.

------------------------------------------------Tu chciałbym zaczekać na wykonanie się kodu powyżej

2.Uruchomienie ponownie okna pokaż klawiaturę numeryczna, w której bede teraz wpisywał kod i która zwraca mi kod wpisany.

Punkt pierwszy mam zrealizowany , natomiast mam problem jak dobrać się do punktu 2 , gdyż powinienem poczekać aż skończy się punkt 1.

Moje pytanie więc brzmi jak zatrzymać wykonywanie programu do czasu wykonania się okna (punktu 1).

0

Może użyć pętli while ?

0

Nie może opisze to z przykładem funkcji:

 
void LogowanieReczne::on_pushButton_id_kod__clicked()
{
     wlacz_klawiature_numer("Podaj ID:");
     connect(k,SIGNAL(signal_wyslij_kod(int)),this,SLOT(ustaw_id(int))); //tu odbieram ten kod wpisany
/*
          // a chcialbym  tu poczekac aż sie wykona to co powyżej i zrobic potem to:
  
       wlacz_klawiature_numer("PodajKOD:");
       connect(k,SIGNAL(signal_wyslij_kod(int)),this,SLOT(ustaw_kod(int)));
*/

}

 a  w klasie klawiatura numeryczna mam tak:

void KlawiaturaNumeryczna::on_pushButton_Zatwierdz_clicked()
{
     slot_ustaw_kod(ui->lineEdit_Kod->text().toInt());
     this->close();
}



0

Dziedzicz po QDialog i zrób tak:

class UserIdDialog : public QDialog {
   Q_OBJECT

public:
    explicit UserIdDialog(QWidget *);

    ...
    QString userId() const;
    void setTittle(const QString &title);

    static QString getUserId(const QString &title) {
          UserIdDialog dialog;
          dialog.setTitle(title);
          dialog.exec();
          return dialog.userId();
    }
}

Oczywiście to nie całość kodu, sam się wysil.

0

MarekR22 bardzo mi pomogłeś. Dziękuje .

1 użytkowników online, w tym zalogowanych: 0, gości: 1