Savez-vous comment masquer, agrandir et fermer les boutons de la barre de titre dans Qt. Je dois surtout le cacher sur QMainWindow.Qt hide réduit, agrandit et ferme les boutons
Répondre
Il suffit de regarder comment fonctionne Window Flags Example!
merci mosg. en fait mon principal problème est de cacher le bouton de fermeture de la fenêtre principale. – ufukgun
Set drapeaux de cette fenêtre Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint
Notez que sur certaines plates-formes, il se comporte de manière différente. Par exemple sous Mac OS X, il désactive, (non peaux) fermer/cacher/boutons
Cela peut être achived en utilisant un eventFilter sur l'événement QEvent :: A proximité de votre MainWindow
bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
if (event->type() == QEvent::Close) {
event->ignore();
doWhateverYouNeedToDoBeforeClosingTheApplication();
return true;
}
return QMainWindow::eventFilter(obj, event);
}
void MainWindow::doWhateverYouNeedToDoBeforeClosingTheApplication() {
// Do here what ever you need to do
// ...
// ...
// and finally quit
qApp->quit();
}
Si vous utilisent Qt qml alors, pour supprimer minimiser, maximiser et bouton de fermeture, définissez l'indicateur de fenêtre sans cadre dans la fonction de fenêtre dans votre fichier main.qml, comme ci-dessous:
flags: Qt.FramelessWindowHint
drapeaux: Qt.Dialog | Qt.WindowCancelButtonHint | Qt.WindowCloseButtonHint
cela fonctionne aussi pour un élément de fenêtre
drapeaux: Qt.Window | Qt.WindowTitleHint
Sur la base de ces noms, je ne pense pas que ce sont les bons indicateurs pour cela ... Est-ce la raison pour laquelle l'OP avait du mal à le trouver? – Taegost
Pourriez-vous mentionner pourquoi vous avez besoin de le faire? –
Je ne veux pas que l'utilisateur ferme mon application en appuyant sur x dans le coin. Je veux qu'il fasse certains processus avant de quitter l'opération. – ufukgun