Quiero usar la biblioteca de gráficos de Cairo con Qt, pero no puedo encontrar ninguna documentación. Solo quiero hacer la GUI con Qt y usar Cairo para dibujar gráficos en una ventana de Qt.Integración de Cairo y Qt
Gracias.
Quiero usar la biblioteca de gráficos de Cairo con Qt, pero no puedo encontrar ninguna documentación. Solo quiero hacer la GUI con Qt y usar Cairo para dibujar gráficos en una ventana de Qt.Integración de Cairo y Qt
Gracias.
La versión reciente de cairo admite Qt al permitir dibujar en una superficie creada con cairo_qt_surface_create(QPainter *painter)
: puede inspeccionar el archivo de encabezado relevante here. No hay documentación, ya que esta función es todavía experimental y desactivados por defecto (que debe compilar Cairo a sí mismo de forma explícita que permite el apoyo de Qt con configure --enable-qt
Advertencia: Esta no va a ser la respuesta que está buscando.
¿Estás seguro de que quieres esto? ¿A que final? ¿Se trata de escribir un QPaintDevice
basado en El Cairo? Qt tiene sus propias primitivas gráficas implementadas, al igual que Cairo. La única razón por la que puedo ver es que no quieres que una capa pesada de Qt interfiera con tu sistema (¿incrustado?). Es como si estuvieras tratando de utilizar el back end de DirectFB en El Cairo, pero luego hay cosas como Qt-on-DirectFB. Sin embargo, tenga en cuenta que una implementación de este tipo es costosa y no gratuita sin su propio conjunto de quarks, como problemas de interoperabilidad de bibliotecas, impresión desde este contexto basado en El Cairo, etc. Le sugiero que haga una búsqueda regular en Google para determinar si tales esfuerzos son/alguna vez estuvieron en marcha y sopesaron los pros y los contras mucho antes de siquiera intentar lo mismo.
que k es la respuesta. Solo quiero una biblioteca de gráficos simple y una biblioteca de GUI que pueda funcionar muy fácilmente, y no quiero usar las funciones de biblioteca de la GUI para dibujar, me gusta Cairo porque es fácil de usar y está basado en vectores. Quizás puedas recomendarme otra biblioteca GUI. – Andrei
Esta es la parte que no entiendo, ¿por qué no quieres usar Qt? Tal vez, podemos sugerir una alternativa entonces. Qt es más que GUI. Las bibliotecas de gráficos tienen un nivel de abstracción menor que las bibliotecas de GUI. En mi humilde opinión, estás dando un paso atrás. GTK + es otra biblioteca de GUI (con backend de El Cairo). – dirkgently
Voy a probar las funciones gráficas de Qt. Probé GTK, pero es un dolor usarlo en proyectos. – Andrei
Qt's Paint System es una muy buena biblioteca de dibujos y es basada en vectores. Y ya está allí. Si elige Qt como su GUI toolkit, no puede ser más fácil.
@amc Eso no es correcto. La mayoría de los dispositivos de pintura están basados en ráster, pero [también hay dispositivos vectoriales] (http://qt-project.org/doc/qt-5/qpaintengine.html#Type-enum): por ejemplo, [QPdfWriter] (http : //qt-project.org/doc/qt-5/qpdfwriter.html). La API 'QPainter' en sí misma se compone principalmente de operaciones basadas en vectores. No es simplemente un blitter. – andref
Se puede lograr de esta manera sucia:.
Voy a intentar esto, realmente espero que funcione porque ahora estoy probando GTK y no es tan bueno como Qt. – Andrei
Si está usando C++, creo que se sentirá más cómodo al usar los [enlaces de C++] (http://library.gnome.org/devel/gtkmm-tutorial/unstable/index-info.html.en), no llano GTK + sí mismo.Qt y QPainter, GTK + y cairo, gtkmm y cairomm y cualquier combinación válida ... dependiendo de lo que quieras, todas son opciones válidas. – ntd