He encontrado respuestas contradictorias en la web: algunos dicen que sí, otros dicen que no. Tampoco pude encontrar ningún detalle en la documentación oficial de Qt. Entonces, ¿Qt tiene enlaces C o no?
¿Qt tiene una interfaz C?
Eli Bendersky
Respuesta corta: no.
Si necesita un conjunto de herramientas GUI completo para C, puede usar GTK+.
Para usar Qt, usted deber tener un compilador de C++. Pero eso no significa que su “lógica de aplicación” no pueda escribirse en C, compilarse con un compilador de C y vincularse cuidadosamente a la parte de C++ (la GUI con Qt). Esta lógica de aplicación puede ser genérica, enlazable a otros ejecutables (C puro, mixto C/C++, etc.) Todo depende de lo que necesites.
Sin embargo, Qt es excelente para C++ y es una buena razón para decidir usar C++ para un proyecto en particular, incluso si aún desea mantener partes en C.
Desafortunadamente no, pero puede configurar su programa como un conjunto de bibliotecas que logran su lógica comercial y escribirlas en C, luego puede usar un poco de C ++ para vincular lo que escribió como biblioteca con una GUI usando QT.
¡Este es un buen enfoque también porque luego puede reutilizar su biblioteca e implementar muchos otros front-end con diferentes kits de herramientas o idiomas!
No. Qt es C++. Pero podría simplemente escribir código de estilo C en todas partes que no interactúan/crean elementos GUI y compilar todo con el compilador de C++ de su elección.
Sean Mc Millan
Solía haber un enlace llamado QtC, pero buscarlo revela este hilo:
De Richard Dale:
Solía mantener los enlaces C que usaban los enlaces Objective-C y Qt#. Pero la biblioteca Smoke es mucho mejor, aunque no es un enlace C, y eliminé los enlaces QtC para usar humo en su lugar.
el humo esta aqui. No he podido encontrar una referencia clara de los enlaces QtC en ninguna parte, aunque recuerdo haber oído hablar de ellos.
No creo que lo haga. Qt siempre se describe como una “biblioteca de clases” y requiere compiladores de C++ para compilarse. Podría intentar escribir/encontrar una DLL/interfaz que se ajustará a QT y proporcionará una API a una capa C.
R.. GitHub DEJAR DE AYUDAR A ICE
Siempre puede usar un compilador de C ++ que simplemente traduzca C ++ a C, luego llame a los nombres destrozados que genera, etc. 🙂
Brian
Qt utiliza el Meta Object Compiler (MOC) para hacer que la señal y la ranura funcionen (por ejemplo, hacer devoluciones de llamada de función basadas en la señal del usuario y las definiciones de ranura). Entonces, Qt no es realmente C++, pero es realmente la sintaxis propia de Qt, que es muy parecida a C++, pero con señales y ranuras. Esto hace que la ‘c’ externa sea inútil.