2010-04-28 7 views
43

Soy completamente nuevo en Qt.Cómo conectar el menú, haga clic en acción en Qt Creator?

Empecé con una nueva aplicación Qt4 GUI.

Usando el diseñador, que han creado un menú de este modo:

File 
- Exit 

¿Cómo consigo una acción asociada con el elemento de menú?

Encontré algo llamado 'Signals and slots editor' pero no tengo idea de cómo usarlo.

Respuesta

47

Haga clic en el signo más verde después de haber seleccionado las señales del Editor de slots. Le dará 4 campos para completar. Para el remitente, seleccione qué está creando la señal. Por ejemplo, ActionExit podría ser el nombre que creó para el elemento del menú de salida. La señal probablemente será presionada(). El receptor generalmente es la clase que creaste que tiene todos tus métodos. La ranura es el método que creó en esa clase que desea ejecutar. Por ejemplo:

actionExit clicked() <nameOfClass> exitGame() 

Espero que esto ayude.

+0

De acuerdo, genial. Una pregunta más rápida ... ¿cuál es la firma del método para la función a la que se llama cuando se hace clic en el elemento del menú? ¿Es como 'void OnClick()', o hay argumentos para eso? –

+3

En realidad, le conviene seleccionar triggered() porque es una acción. Ahora, para el método que se llama, no necesita ningún argumento, así que puede llamarlo void exitGame() si lo desea. – Isawpalmetto

+1

Por cierto, olvidé mencionar que lo que debería dispararse() debería ir en el campo de señal. Solo quería ser claro. – Isawpalmetto

39

Pude hacer esto de una manera que parece mucho más fácil. En la ventana del Editor de acciones de Qt Creator, veo una entrada para el elemento del menú en el que hice clic. Haga clic en esa entrada y seleccione "Ir a la ranura ...", luego selecciono desencadenado() desde la ventana emergente y hago clic en Aceptar. Qt Creator me lleva al código que acaba de agregar ... Puse una declaración qDebug allí y funciona!

+2

La diferencia entre esto y la respuesta aceptada es que esta respuesta crea una acción específica para el elemento del menú y la respuesta aceptada se aplica a cualquier espacio previamente especificado , ambos aspectos son útiles. – radman

+0

En primer lugar, lo malentendí, mezclé lo que dijiste con el buscador de objetos, ¡obviamente usar el Editor de acciones es el camino a seguir! – Nisse

2

Vaya al Editor de slots y luego haga clic en la pestaña Editor de acciones en el lado izquierdo del bottem. Hay todas las acciones del menú enumeradas.

Haga clic derecho -> ir a la ranura proporciona una función de ranura.

Cuestiones relacionadas