Ist es möglich, die QDialogs Standard Schließen-Schaltfläche in der oberen linken Ecke des Dialogs zu deaktivieren/löschen?Disable QDialogs Standard Schließen-Schaltfläche (oben links "Kreuztaste")?
Antwort
Clearing WindowCloseButtonHint
in WindowFlags
kann tun, was Sie wollen. Schauen Sie sich das Beispiel here an.
Verwenden Sie diese Funktion für Ihren Dialog
dlgLobLobLob->setWindowFlags(Qt::Dialog | Qt::Desktop)
Ich habe das versucht, aber leider funktioniert es nicht - alle Tasten (schließen, maximieren, minimieren) sind verfügbar. Schätze, es hängt vom Unity Desktop ab. – Streight
diesen Beitrag überprüfen: http://stackoverflow.com/questions/10369826/qt-disable-alt-f4 –
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowTitleHint);
Versuchen. Sie können die Window Flags Example überprüfen möchten, und spielen, um Auswirkungen aller möglichen Kombinationen von WindowFlags
Funktioniert nicht auf OS X –
Mindestens in (embedded) Linux, um zu sehen, Sie können dies tun:
setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
Damit ich ein Fenster, das den Titel aber keine Knöpfe hat.
Ich habe jetzt versucht, das Fenster durch 'setWindowFlags (Qt :: AnpassenWindowHint | Qt :: WindowTitleHint);' oder 'setWindowFlags (windowFlags() & ~ Qt :: WindowCloseButtonHint);' zu costen. Problem ist, dass beide Ideen immer noch die Maximierung-Schaltfläche verlassen und wenn maximiert, erscheint die Schließen-Schaltfläche erneut. Irgendeine Idee? – Streight