c++ - poner - ¿Puedo quitar la marca de un grupo de RadioBottoms dentro de un cuadro de grupo?
formularios en excel (2)
fondos de radio dentro de un grupo. Box se tratará como un grupo de fondos. Ellos son mutuos exclusivos. ¿Cómo puedo limpiar sus estados de cheque?
Tengo varios fondos de radio, uno de ellos está marcado. ¿Cómo puedo "limpiar" (desmarcar) todos los fondos de radio? "setChecked" no funciona dentro de un grupo, traté de hacer lo siguiente pero fallé.
Mi código es el siguiente, radioButtom está dentro de un groupBox, y quiero desmarcarlo. El primer setChecked funciona, pero el segundo no, el radioBottom no se desactiva
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
QRadioButton *radioButton;
ui->setupUi(this);
radioButton->setChecked(true);
radioButton->setChecked(false);
}
¿Dónde está el problema en mi código?
El truco consiste en deshabilitar la propiedad autoExclusive
antes de desmarcarla y luego volver a habilitarla.
ui->radioButton->setChecked(true);
ui->radioButton->setAutoExclusive(false);
ui->radioButton->setChecked(false);
ui->radioButton->setAutoExclusive(true);
Después de esto, el radioButton está desmarcado.
En la documentación de Qt, dijo: Un QRadioButton es un botón de opción que se puede activar (verificar) o desactivar (sin marcar). Los botones de opción generalmente presentan al usuario una opción "uno de muchos". En un grupo de botones de radio, solo se puede verificar un botón de radio a la vez; si el usuario selecciona otro botón, el botón seleccionado previamente se desactiva. AFAIK: Creo que no podrás marcar todos los QRadioButtons.
En mi práctica, nunca he visto todo marcado de una vez QRadioButtons en un diálogo / ventana. Pero puede ser que me he equivocado.
Como solución de mi parte, puedo ofrecerle que cree un QRadioButton adicional, y luego lo oculte, de modo que cuando necesite ocultar todo el QRadioButton en un widget, simplemente podría configurar Chequeado (verdadero) en el oculto.
Buena suerte.