QT: Masquez la barre de titre d'une boîte de dialogue / fenêtre
-
19-09-2019 - |
Question
J'ai une fenêtre parent dans laquelle la fonction d'événement de clic d'un bouton-poussoir a les lignes suivantes:
SplashScreenDialog * splscrdlg = new SplashScreenDialog (this); splscrdlg-> show ();
Ce que je veux, c'est que je veux supprimer le bouton maximiser, minimiser le bouton, fermer le bouton et également la barre de titre de la boîte de dialogue (ou de la fenêtre). [En fait, c'est pour un écran Splash, il contiendrait une image pendant un certain temps, puis quitterait automatiquement et ouvrirait la fenêtre principale, vous êtes les bienvenus avec d'autres idées pour afficher l'écran Splash
La solution
Pourquoi ne pas utiliser QSplashScreen?
Exemple extrait de l'assistant:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPixmap pixmap(":/splash.png");
QSplashScreen splash(pixmap);
splash.show();
app.processEvents();
...
QMainWindow window;
window.show();
splash.finish(&window);
return app.exec();
}
Autres conseils
Pourquoi ne pas utiliser QSplashScreen
pour ça? Quoi qu'il en soit, vous pouvez définir des drapeaux de fenêtre pour retirer la décoration de la fenêtre. Voir la documentation pour QWidget::setWindowFlags
et Qt::WindowFlags
.