2012-01-02 8 views

Respuesta

9

QWidgetAction es lo que busca. Esto es lo que está en docs qt

La clase QWidgetAction extiende QAction por una interfaz para insertar widgets personalizados en acción contenedores basados ​​

Así que básicamente da una interfaz de usuario personalizada a QAction acuerdo con lo Qwidget que pase lo. He utilizado QWidgetAction para mostrar la casilla de verificación como elementos QMenu.

QCheckBox *chkBox = new QCheckBox(menu); 
chkBox ->setText("MyCheckBox"); 
QWidgetAction *chkBoxAction= new QWidgetAction(menu); 
chkBoxAction->setDefaultWidget(chkBox); 
menu->addAction(chkBoxAction); 

A continuación, puede manejar las señales de la casilla de verificación en consecuencia.

0

Si sólo desea un elemento de menú que tiene un estado, puede utilizar la propiedad comprobable de QAction:

rotateAct = new QAction(QIcon(":/images/Mouse/Rotate.png"), tr("&Rotate"), this); 
rotateAct->setCheckable(true); 
Cuestiones relacionadas