Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Spanish
  4. Crear menus en la barra de menus con QMenu

Crear menus en la barra de menus con QMenu

Scheduled Pinned Locked Moved Unsolved Spanish
2 Posts 2 Posters 1.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • X Offline
    X Offline
    Xedig
    wrote on last edited by
    #1

    Buenas amigos, una vez mas necesito un poco de ayuda, en concreto lo que quiero es crear nuevos menus desplegables con QMenu y que las nuevas opciones llamen a una funcion con unos parametros pero no consigo encontrar como debe de hacerse en concreto. Lo que estoy haciendo es:

    foreach(QString _menuNew, menusMotores)
        {
            QMenu *newMenu;
            QFile archivoCsv(_menuNew);
            newMenu = menuBar()->addMenu(_menuNew.remove(".csv"));
            archivoCsv.open(QIODevice::ReadOnly | QIODevice::Text);
            if(!archivoCsv.isOpen())
            {
                qDebug() << "El archivo no se ha abierto";
                return;
            }
            QTextStream datosArchivo(&archivoCsv);
            while (!datosArchivo.atEnd())
            {
                QStringList AccesoMotorPws;
                QString motorPws = datosArchivo.readLine();
                AccesoMotorPws = motorPws.split(';');
                qDebug() << "Nombre: " << AccesoMotorPws[0] << " ip: " << AccesoMotorPws[1] << " Puerto: " << AccesoMotorPws[2];
                newMenu->addAction(AccesoMotorPws[0], this, SLOT(setActions(&AccesoMotorPws[1], &AccesoMotorPws[2], &user, &pass, true))); //NO funciona
            }
    
        }
    

    Sospecho que el problema esta dentro del while que es donde se crean las acciones, ahi en la linea de newMenu->addAction(Acc .. no consigo que la funcion setActions con sus parametros se implemente en la opcion del menu, en aplication output me devuelve el mensaje de No such slot MainWindow::setActions(AccesoMotorPws[1], AccesoMotorPws[2], user, pass, true)

    ¿como puedo asignar a cada opcion del menu con un bucle una funcion con parametros distintos?
    Gracias de antemano

    1 Reply Last reply
    0
    • juankiJ Offline
      juankiJ Offline
      juanki
      Moderators
      wrote on last edited by
      #2

      Hola

      Yo creo que no estás llamando correctamente a addAction(). Repasa la documentación.

      No sé por que llamas a setActions dentro de SLOTS().

      Un saludo

      Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
      Procura escribir correctamente y sin faltas de ortografía.

      Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved