2010-01-19 12 views
14

Sé que se pueden usar juntos, pero me pregunto si es posible reemplazar las señales de Qt y el mecanismo de ranuras con Boost.Signal en las partes Qt del programa (widgets y demás).Utilice Boost.Signal en lugar de las señales de Qt? ¿Hacer sin moc?

¿Alguien alguna vez lo intentó? ¿Algún problema?

Asumiendo que no uso ninguna otra característica de MOC y reemplazo las señales/ranuras con boost.signal, ¿es posible prescindir completamente de moc?

+0

[mezcla Qt y Boost] (http://stackoverflow.com/questions/360160/mixing-qt-and-boost/695398) –

Respuesta

3

No creo que sea algo que quieras hacer. Las señales de Qt están profundamente integradas en el marco y cómo se generan y manejan. No pierdas tu tiempo :)

4

Lo consideré para uno de mis proyectos. Un aspecto que puede molestarle, según el proyecto, es el uso de Qt Designer. El Qt-Designer crea slots de señal debajo para sus conexiones GUI. Por lo tanto, si usa el diseñador, terminará con proyectos que tienen signals-slots y boost::signals. Hay algunos problemas con su uso juntos, es decir, ver this blog. Aunque es posible que trabajen juntos, me abstendría de mezclar los dos enfoques.

¡Pero el problema más grande que enfrenté era que boost::signals no es seguro para subprocesos mientras que Qt es signal-slot! Entonces fue una decisión fácil para mí, ya que mi proyecto era multiproceso.

Usted puede obtener los méritos relativos y los méritos-DE del enfoque adoptado por impulso y Qt de Page-11 de this PDF.

HTH

+7

Boost.Signals2 es seguro para subprocesos. Y no estoy usando Qt Designer, así que eso no sería un problema. – drby

+0

@drby: ¿y tú construyes? ¿Está automatizado usar la macro * MOC * usando qmake? En caso afirmativo, es posible que deba cambiar eso también. De lo contrario, preferiría impulsar en cualquier momento, simplemente porque es más seguro. Buena suerte. – Abhay

Cuestiones relacionadas