Tengo un QGroupBox con un par de QRadioButtons dentro de él y en algunos casos quiero que todos los botones de radio estén desmarcados. Parece que esto no es posible cuando se ha realizado una selección. ¿Conoces una manera de hacerlo? ¿O debería agregar un botón de radio oculto y verificar que esté activado para obtener el resultado deseado?¿Hay alguna manera de tener todos los botones de radion desactivados?
Respuesta
Puede conseguir este efecto desactivando temporalmente la exclusividad de auto para todos los botones de radio, desmarcando ellos, y luego convertirlos de nuevo en:
QRadioButton* rbutton1 = new QRadioButton("Option 1", parent);
// ... other code ...
rbutton1->setAutoExclusive(false);
rbutton1->setChecked(false);
rbutton1->setAutoExclusive(true);
Es posible que desee buscar en el uso QButtonGroup para mantener las cosas más ordenadas , que va a dejar que encienda la exclusividad de manera intermitente durante todo un grupo de botones en lugar de iteración a través de su propia cuenta:
// where rbuttons are QRadioButtons with appropriate parent widgets
// (QButtonGroup doesn't draw or layout anything, it's just a container class)
QButtonGroup* group = new QButtonGroup(parent);
group->addButton(rbutton1);
group->addButton(rbutton2);
group->addButton(rbutton3);
// ... other code ...
QAbstractButton* checked = group->checkedButton();
if (checked)
{
group->setExclusive(false);
checked->setChecked(false);
group->setExclusive(true);
}
Sin embargo, como las otras respuestas han mencionado, es posible que desee considerar el uso de casillas de verificación en su lugar, ya radio los botones no son realmente para este tipo de cosas.
Este comportamiento aún es necesario si, en lugar de botones de opción, está agrupando un conjunto de botones. – Pierluigi
@richardwb cuando hago el chequeo-> setChecked (falso), el botón que se seleccionó está desapareciendo de la pantalla. ¿Cómo te está funcionando? –
¿Funcionaría agregar un botón de opción con una etiqueta como "Ninguno"?
- 1. ¿Hay alguna manera de ordenar cadenas en todos los idiomas?
- 2. ¿Cómo puedo activar los botones de radio desactivados?
- 3. ¿Hay alguna manera de tener argumentos dinámicos por defecto?
- 4. ¿Hay alguna manera de tener paralelo para cada bucle?
- 5. ¿Hay alguna manera de limitar la memoria, ghci puede tener?
- 6. iPhone: ¿Hay alguna manera de cargarFromNib Y tener un reuseIdentifier?
- 7. ¿Hay alguna manera de tener diferentes vistas en un NSCollectionView?
- 8. ¿Hay alguna manera de contar todos los elementos de un índice en ElasticSearch o Tire?
- 9. ¿Hay alguna manera de decirle a Doxygen que ignore (todos) los espacios de nombres?
- 10. ¿Hay alguna forma de extraer/actualizar todos los subrepos?
- 11. ¿Hay alguna manera de tener el texto de copyright antepuesto a los nuevos archivos en Vim?
- 12. ¿Hay alguna manera de borrar una clave de caché de sesión para todos los usuarios?
- 13. ¿Hay alguna manera de borrar todos los temporizadores de JavaScript a la vez?
- 14. ¿Hay alguna manera de ajustar todos los métodos de JavaScript con una función?
- 15. ¿Hay alguna manera de obtener todos los encabezados de solicitud en una llamada jQuery $ .ajax?
- 16. ¿Hay alguna manera de obtener todos los atributos de un DOMElement?
- 17. ¿Hay alguna manera de desactivar una etiqueta?
- 18. ¿Hay alguna manera de animar diseños? [Android]?
- 19. ¿Hay alguna manera de definir una QToolbar con botones y menús emergentes usando Qt Designer?
- 20. ¿Hay alguna manera de configurar vimdiff para ignorar TODOS los espacios en blanco?
- 21. ¿Hay alguna manera de obtener referencias para todos los fragmentos actualmente activos en una actividad?
- 22. ¿Hay alguna manera de atrapar todos los errores en un servicio web AJAX?
- 23. ¿Hay alguna manera de eliminar todos los comentarios en un archivo usando Notepad ++?
- 24. ¿Hay alguna manera de ver todos los archivos modificados en una rama en Git?
- 25. jQuery: ¿Hay alguna manera de "actualizar" los manejadores de eventos?
- 26. ¿Hay alguna manera de concaturar los tipos anónimos de C#?
- 27. ¿Hay alguna forma de obtener los nombres localizados de los botones de diálogo comunes?
- 28. ¿Hay alguna manera de anular ConfigurationManager.AppSettings?
- 29. ¿Hay alguna manera de seleccionar los nodos hermanos?
- 30. ¿Hay alguna manera de conservar los datos HSQLDB?
Esto va en contra del principio de los botones de opción. Por definición, exactamente uno está seleccionado, siempre. ¿Por qué necesitas esto? – Thomas
@Thomas: por lo general va en contra de la definición de botones de opción, pero a veces puede ser útil. Considere un asistente donde el usuario _debe_ hacer una elección mutuamente exclusiva. Puede presentarlos con botones de opción, pero no tienen ningún valor predeterminado. Ahora imagina que regresan a una página anterior y cambian algo, lo que significa que debes restablecer el resto de los datos, incluido configurar los botones de opción para que no vuelvan a seleccionar nada. (Lo ideal es que el asistente no pueda avanzar hasta que se seleccione uno de los botones de opción). –
Es exactamente por eso que lo necesito. –