Frage

Ich erstelle eine Instanz von Qdialog und links von 'x' (schließen) Taste, die ich auch '?' Taste. Wie kann ich das deaktivieren '?' ?

War es hilfreich?

Lösung

Ändern Sie die Fensterflags, zum Beispiel im Konstruktor:

this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);

Andere Tipps

Aus der QT 4.6 QDIALOG -Dokumentation:

QDialog::QDialog ( QWidget * parent  = 0, Qt::WindowFlags  f = 0 )

Konstruiert einen Dialog mit Eltern parent.

Ein Dialog ist immer ein Widget der obersten Ebene, aber wenn er über einen übergeordneten Ort verfügt, ist der Standardort auf dem übergeordneten Übergang zentriert. Es wird auch den Taskleisteneintrag des Elternteils teilen.

Die Widget -Flaggen f werden an die weitergegeben QWidget Konstrukteur. Wenn zum Beispiel, Sie wollen keine ** Was ist das Schaltfläche in der Titelleiste des Dialogfelds **, passieren Qt::WindowTitleHint | Qt::WindowSystemMenuHint in f.

Siehe auch QWidget::setWindowFlags().

Wenn Sie nur die Schaltfläche deaktivieren möchten, können Sie anrufen setEnabled(bool), aber ich bezweifle, dass es das ist, was gefragt wird.

Wenn Sie diese Taste entfernen möchten, siehe unten:

QDialog soll a verwenden QDialogButtonBox als die Schaltflächen, die im Dialog angezeigt werden. Sie können Zubehör verwenden, die in verfügbaren verfügbaren verfügbar sind QDIALOGBUTTONBOX Um die Knöpfe zu deaktivieren, die Sie nicht wollen (und andere aktivieren).

Zum Beispiel (aus der oben verlinkten Dokumentation):

findButton = new QPushButton(tr("&Find"));
findButton->setDefault(true);

moreButton = new QPushButton(tr("&More"));
moreButton->setCheckable(true);
moreButton->setAutoDefault(false);

buttonBox = new QDialogButtonBox(Qt::Vertical);
buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);

Wenn Sie sich des Schaltflächenfelds nicht bewusst sind, würde ich vermuten, dass Designer es automatisch für Sie hinzugefügt hat und es einen Namen haben sollte, der ihn zugänglich macht. Es sollte auch Eigenschaften (Kontrollkästchen) geben, die Sie überprüfen können, um zu steuern, welche Schaltflächen standardmäßig zugänglich sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top