• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

QT - nowe okno QDialog

Object Storage Arubacloud
0 głosów
607 wizyt
pytanie zadane 13 grudnia 2016 w C i C++ przez piter600 Użytkownik (610 p.)

Witam, mam następujący problem. Z głównego okna programu MainWindow otwieram sobie okno typu QDialog. Jak z tego QDialoga otworzyć kolejne okno typu QDialog, tak aby poprzedni QDialog sie zamknął? Zrobiłem to w następujący sposób ale nie działa (drugie okno QDIalog otwiera się na ułamek sekundy i oba Qdialogi się zamykają.

void MainWindow::on_Sparing_clicked()
{
    Sparing sparing;
    sparing.SetData(sciezkaDoZdjecia, idGracza);
    if (sparing.exec())
    {
        Mecz m;
        m.show();
    }
}

 

1 odpowiedź

0 głosów
odpowiedź 13 grudnia 2016 przez niezalogowany

Trzymaj wskaźnik do obecnie otwartego Dialogu, nulluj go przy zamykaniu dialogu. Jeżeli != NULL, to go zamykasz i tworzysz nowy, == NULL to tylko tworzysz, pseudo-qt:

/* MyWinodow.h
   QDialog* mydialog;
*/

// MyWindow.cpp
void MyWindow::on_mybutton_clicked()
{
  if(mydialog != NULL)
  {
    disconnect(mydialog, 0, 0, 0);
    mydialog->deleteLater();
  }

  mydialog = ... ; // przypisanie wskaźnika na nowy obiekt
  connect(mydialog, clicked(), this, on_my_button_clicked());
}

 

Podobne pytania

+1 głos
0 odpowiedzi 293 wizyt
pytanie zadane 23 sierpnia 2016 w C i C++ przez manjaro Nałogowiec (37,390 p.)
0 głosów
0 odpowiedzi 101 wizyt
pytanie zadane 11 grudnia 2016 w C i C++ przez piter600 Użytkownik (610 p.)
0 głosów
2 odpowiedzi 1,753 wizyt
pytanie zadane 30 kwietnia 2015 w C i C++ przez Linker Bywalec (2,690 p.)

92,753 zapytań

141,672 odpowiedzi

320,389 komentarzy

62,100 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...