7
votes

Qt Fermez une fenêtre en cours d'exécution via le code

J'ai un programme qui ouvre une autre fenêtre et je veux que l'ancienne fenêtre se ferme. Y a-t-il une fonction ou quelque chose qui fermerait la fenêtre à travers le code mais gardez l'autre fenêtre en cours d'exécution?


6 commentaires

Pouvez-vous simplement masquer ( qwidget Fonction) Il? Ou avez-vous voulu dire autre chose par "Fermer"?


Non, je veux que la fenêtre disparaisse, pas le widget à l'intérieur.


Vous pouvez toujours utiliser la cache-cache sur la fenêtre. L'application fonctionnera aussi longtemps qu'il a une fenêtre visible.


Windows sont widgets, ce qui signifie que vous pouvez cacher le tout - pas seulement le contenu.


Je tape u-> cache-cache () et ça me dit que Ui :: Mainwindow n'avait aucun membre nommé "masquer"


@ Tyty5949 Essayez this-> masquer () ou juste masquer () .


4 Réponses :


-2
votes

Utilisez le signal et le mécanisme à sous.

Chaque fois que vous souhaitez fermer cette fenêtre ou cette écran émet un signal et connectez ce signal à la fente étroite de cette fenêtre. Cela devrait fonctionner bien.


0 commentaires

1
votes
MyWidget *newform = new MyWidget;
newform->show();
this->hide();

0 commentaires

9
votes
close();

0 commentaires

2
votes
void Dialog::on_Close_clicked()  // Condition for Main thread program stopping

Running Thread->closethread = true;
    this->close();

void Dialog::on_Stop_clicked()  // Condition For Stop Button for your particular task
{
    this->close();
}

1 commentaires

S'il vous plaît ajouter une description de ce que ce bloc de code fait. Sinon, il devient difficile de comprendre la solution.