Pregunta

Creo una instancia de QDialog y a la izquierda del botón 'X' (Cerrar) que también tengo '?' botón. ¿Cómo puedo deshabilitar eso '?' ?

¿Fue útil?

Solución

Cambie las banderas de la ventana, por ejemplo en el constructor:

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

Otros consejos

De la documentación QT 4.6 Qdialog:

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

Construye un diálogo con el padre parent.

Un diálogo es siempre un widget de nivel superior, pero si tiene un padre, su ubicación predeterminada se centra en la parte superior del padre. También compartirá la entrada de la barra de tareas del padre.

Las banderas del widget f se transmiten a la QWidget constructor. Si, por ejemplo, no quieres un ** que es esto botón en la barra de título del diálogo **, pase Qt::WindowTitleHint | Qt::WindowSystemMenuHint en f.

Ver también QWidget::setWindowFlags().

Si solo desea deshabilitar el botón, puede llamar setEnabled(bool), pero dudo que eso es lo que se le pregunta.

Si desea eliminar ese botón, consulte a continuación:

QDialog está destinado a usar un QDialogButtonBox Como los botones que aparecen en el diálogo. Puede usar accesorios disponibles en QdialogButtonbox Para deshabilitar los botones que no desea (así como habilitar otros).

Por ejemplo (de la documentación vinculada a arriba):

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 no es consciente del cuadro de botones, supongo que el diseñador lo agregó automáticamente y debería tener un nombre que lo haga accesible. También debe haber propiedades (casillas de verificación) que puede verificar para controlar a qué botones están accesibles de forma predeterminada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top