Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo debo escribir señales y ranuras en QT cuando quiero usar el valor establecido por QSlider?

¿Cómo debo escribir señales y ranuras en QT cuando quiero usar el valor establecido por QSlider?

En la sección anterior, analizamos en detalle la función connect(). El uso de connect() nos permite conectarnos a señales y ranuras proporcionadas por el sistema. Sin embargo, el mecanismo de señal y ranura de Qt no solo utiliza las piezas proporcionadas por el sistema, sino que también nos permite diseñar nuestras propias señales y ranuras. Este es también uno de los conceptos de diseño del marco Qt, utilizado para diseñar programas desacoplados. Esta sección describe cómo personalizar señales y espacios en su propio programa.

Las señales y ranuras no las proporcionan los módulos GUI, pero son una de las funciones principales de Qt. Por tanto, podemos utilizar señales y ranuras en programas de consola normales.

El patrón clásico del observador suele explicarse utilizando como ejemplos los periódicos y los suscriptores. Hay una clase de periódico Periódico y una clase de suscriptor Suscriptor, que se suscribe al Periódico para notificar al Suscriptor inmediatamente cuando el Periódico tiene contenido nuevo. En este ejemplo, el observador es el Suscriptor y el observado es el Periódico. En el código de implementación clásico, el observador se registra en el contenedor de lo observado (por ejemplo, suscriptor.registerTo(periódico)). Cuando se produzca algún cambio en los objetos observados, el contenedor se recorrerá activamente para notificar a cada observador por turno (newspaper.notifyAllSubscribers()).

Veamos cómo implementar el patrón de observador anterior utilizando las señales y ranuras de Qt. Tenga en cuenta que aquí solo estamos usando este caso, nuestro código no implementará el patrón de observador clásico. En otras palabras, podemos obtener el mismo efecto utilizando el mecanismo de ranura y señal de Qt.