Question

Je crée une instance de QDialog et à gauche de « x » bouton (fermer) j'ai aussi '? bouton. Comment puis-je désactiver cette '? ?

Était-ce utile?

La solution

Modifier les drapeaux de fenêtre, par exemple dans le constructeur:

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

Autres conseils

De la documentation QDialog Qt 4.6:

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

une boîte de dialogue avec Constructs parent parent.

Une boîte de dialogue est toujours un widget niveau supérieur, mais si elle a un parent, son emplacement par défaut est centrée sur le dessus du parent. Il partagera également l'entrée barre des tâches du parent.

Les drapeaux du widget f sont passés au constructeur de QWidget. Si, par exemple, vous ne voulez pas ** Qu'est ce que ce bouton dans la barre de titre de la boîte de dialogue **, passez Qt::WindowTitleHint | Qt::WindowSystemMenuHint dans f.

Voir aussi QWidget::setWindowFlags() .

Si vous voulez juste désactiver le bouton, vous pouvez appeler setEnabled(bool), mais je doute que ce soit ce qui est demandé.

Si vous voulez supprimer ce bouton, voir ci-dessous:

QDialog vise à utiliser un QDialogButtonBox comme les boutons qui apparaissent sur la boîte de dialogue. Vous pouvez utiliser accesseurs QDialogButtonBox afin de désactiver les boutons que vous ne voulez pas (ainsi que permettre aux autres).

Par exemple (de la documentation liée ci-dessus):

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);

Si vous n'êtes pas au courant de la boîte de bouton, je suppose que le concepteur a ajouté automatiquement pour vous et il doit avoir un nom qui le rend accessible. Il devrait également y avoir des propriétés (cases à cocher) que vous pouvez vérifier afin de commander les boutons sont accessibles par défaut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top