para - Cómo agregar un submenú en Qt
qt en c (1)
¿Cómo agrego un submenú desde el menú a continuación? Necesito un submenú para abrir, por ejemplo, después de hacer clic
"A->Setup"
Quiero que un submenú se abra al costado del menú principal.
void MyMenu::cppSlot()
{
QMenu *xmenu = new QMenu;
xmenu->addMenu("A -> Setup");
xmenu->addMenu("B -> Setup");
xmenu->addMenu("C -> Setup");
xmenu->addMenu("D -> Setup");
xmenu->addMenu("E -> Setup");
//Change font and width
xmenu->setFont(QFont ("Courier", 10));
xmenu->setFixedWidth(250);
//Colour setting
xmenu->setAutoFillBackground(true);
/*QPalette palette=xmenu->palette();
palette.setColor(QPalette::Window, Qt::black);
palette.setColor(QPalette::Window, Qt::text);
palette.color(green)
xmenu->setPalette(palette);*/
// Align the menu coordinates
// xmenu->
xmenu->move(900,300);
xmenu->show();
}
QMenu :: addMenu () devuelve un puntero al submenú creado. Puede usar estos punteros para agregar acciones a los submenús.
El siguiente código:
QMenu *xmenu = new QMenu();
QMenu* submenuA = xmenu->addMenu( "A" );
QMenu* submenuB = xmenu->addMenu( "B" );
QMenu* submenuC = xmenu->addMenu( "C" );
QMenu* submenuD = xmenu->addMenu( "D" );
QMenu* submenuE = xmenu->addMenu( "E" );
QAction* actionA_Setup = submenuA->addAction( "Setup" );
QAction* actionB_Setup = submenuB->addAction( "Setup" );
QAction* actionC_Setup = submenuC->addAction( "Setup" );
QAction* actionD_Setup = submenuD->addAction( "Setup" );
QAction* actionE_Setup = submenuE->addAction( "Setup" );
(Sugerencia: Esto llora por un bucle)
producirá un menú como este:
A continuación, puede conectar las ranuras a la señal triggered()
de las acciones devueltas (por ejemplo, actionA_Setup
).