Standard Buttons QDialog entfernen/blockieren
-
Hi,
ich erstelle ein QDialog Objekt mit
QDialog *Dateimeldung = new QDialog(); Ui::DialogDateiMeldung Dialog; //Polymorphie Dialog.setupUi(Dateimeldung); Dateimeldung->setModal(true); Dateimeldung->setAttribute(Qt::WA_DeleteOnClose); //HIER VERSUCHE EINGEFÜGT STELLE X GeoDateimeldung->show();
Jetzt hat der Dialog vor allem diesen Standard SchließenButton (x-Button) in der oberen linken Ecke, welchen ich aber in meinem Fall nicht gebrauchen kann, da ich nicht will, dass der User den Dialog schließen kann.
Daher habe ich folgendes an Stelle X versucht:
Dateimeldung->setWindowFlags(windowFlags() &~Qt::WindowCloseButtonHint);
ODER
Dateimeldung->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint);
Funktioniert auch beides, leider bleibt aber immer der MaximierungsButton übrig und wenn ich den anklicke, also de Dialog maximiere, erscheint auch wieder der SchließenButton.
Wenn ich
Dateimeldung->setWindowFlags(Qt::CustomizeWindowHint);
nutze sind zwar alle StandardButtons weg, leider hat der Dialog dann aber auch keinen Rand mehr und das sieht be...scheiden aus :).
Hab auch weiter nichts passendes unter den WindowsFlags gefunden (siehe: http://doc.qt.nokia.com/4.7-snapshot/qt.html#WindowType-enum)
Hat jemand ne Idee/Lösung für das Problem?
-
Qt::WindowTitleHint
-
Hab ich doch schon versucht -> siehe meine Eingangsfrage.
Gruß
-
Öhm wie soll der Benutzer sonst den Dialog wieder schließen?
Du kannst auch auf diesen schließen event reagieren und dafür sorgen dass sich der Dialog nicht schließt.Und je nach verwendeten Betriebsystem und dessen Gui system kann es sein, dass bestimmte elemente einer titlebar nicht entfernt werden können.