¿Hay alguna manera de ver qué señales se disparan y si hay una ranura conectada a ellas? Idealmente, nos gustaría ver todas las señales, no solo las de una clase o método en particular; p.ej. QSignalSpy solo nos permite rastrear señales específicas de instancias específicas.Debug Qt señales, ranuras y conexiones
En nuestra aplicación, hemos visto problemas de rendimiento debido a una señal emitida dos veces por diferentes componentes. Al final, resultó que había una segunda instancia de una clase que debería haber estado allí solo una vez. Saber qué señales se emiten exactamente ayuda a depurar esto.
Las señales se llaman a través de QMetaObject::invoke*
, esperaba encontrar algo allí para conectar, pero no encontré nada obvio.
posible duplicado de [¿Cómo interceptar TODAS las señales emitidas por un evento determinado en QT?] (Http://stackoverflow.com/questions/2072013/how-to-intercept-all-signals-emitted-by-a- given-event-in-qt) – exilit
Si desea tener solo una instancia de la clase, ¿por qué no usó el patrón singleton para controlar el número de objetos? – Afshin