novato con algunas dudas de la relacion que hay entre c++ y Qt



  • hola soy de chile y mi consulta es:

    tengo diseñada una biblioteca en c++, usando lista enlazadas...mi duda es como ese codigo que te tengo lo voy realizando en qt, cuanto de el me sirve...por donde empiezo??



  • Hola

    Pues la relación entre C++ y Qt es que Qt está escrito en C++, por lo que si tu librería está hecha en C++, no deberías tener problemas para usarla desde Qt.

    O, ¿ Lo que quieres es migrarla a Qt?

    Saludos



  • @lhuxus23 como dice juanki, sin embargo es necesario destacar que Qt es un framework ( investiga el concepto).

    Puedes probar ejecuciones de c++ en QtCreator usando la compilación de qmake y verás que te funcionará.



  • Repasemos un poco la creación de bibliotecas estáticas en Linux:
    Tienes una gran cantidad de clases muy útiles en los archivos miClase.h y miClase.cpp en el directorio
    /home/jespinoza/myLib
    y compilas (solo compilar, no hace falta linkear) con el comando
    g++ -Wall -c miClase.cpp
    Eso te genera el archivo objeto
    miClase.o
    Ahora creas la biblioteca estática a partir de ese archivo objeto (podrían ser más archivos objeto) usando el comando
    ar -cvq libXXX miClase.o
    lo cual te genera la biblioteca estática libXXX.a
    Esta biblioteca estática libXXX.a es la que quieres ahora usar desde Qt para hacer la Interfaz Gráfica. Fíjate bien en el prefijo lib de la biblioteca que estas creando ya que eso es un standard y tiene un uso cuando se referencia.
    Al crear un Proyecto Qt con QtCreator el IDE crea automáticamente un archivo con el nombre del proyecto y extensión .pro. Por ejemplo, si el Proyecto se llama Novato, creara un archivo Novato.pro
    En ese archivo agrega
    INCLUDEPATH += -I/home/jespinoza/myLib
    es decir, la ruta donde están los archivos xxx.h que quieres ver, precedido con un signo menos y una I de Include mayúscula .

    Ahora agrega
    LIBS += -L/home/jespinoza/lib/myLib -lXXX
    es decir, la ruta donde está la biblioteca que quieres usar, precedido por un signo menos y una L mayúscula de Librería. A continuación de la ruta un espacio, el signo menos, la letra l de librería en minúscula indicando que es una biblioteca
    y XXX el nombre de la biblioteca SIN el prefijo lib que había comentado antes.
    Con esto ya puedes trabajar tu biblioteca estática desde un Proyecto en Qt.

    Hacerlo en Windows y/o con librerías dinámicas es similar.



  • Este tema que nos plantea @lhuxus23 me parece demasiado importante, tanto para los que como él tenemos unas series de bibliotecas personales muy útiles como para los que hemos programado con otros Framework (Visual C++, GTK, Borland Builder, etc) y no queremos perder todo el trabajo hecho.

    Veo que la respuesta que dí anteriormente es demasiado simple para un tema tan complejo e interesante. Es por eso que he creado un blog en el cual me he propuesto profundizar sobre este tema (C++, Qt, QML). La dirección es:
    https://cplusplusguiqt.wordpress.com/

    Está desarrollado el 1er capítulo el cual pueden encontrar en el menú "Aprendamos a Programar… Programando" del blog



  • Hola

    @Julio-Espinoza said:

    Veo que la respuesta que dí anteriormente es demasiado simple para un tema tan complejo e interesante. Es por eso que he creado un blog en el cual me he propuesto profundizar sobre este tema (C++, Qt, QML). La dirección es:
    https://cplusplusguiqt.wordpress.com/

    Pues ya me tienes por allí leyendo todo lo que pongas :)

    Suerte con el Blog. Un saludo



  • En el blog que les había dicho https://cplusplusguiqt.wordpress.com/ está un nuevo ejemplo COMPLETO sobre una aplicación hecha con C++ y la Interfaz gráfica hecha con Qt/Qml, en este caso es una Calculadora McdMcm (calcula el Máximo Común Divisor y el Mínimo Común Múltiplo de varios números enteros positivos).

    En la entrada del blog https://cplusplusguiqt.wordpress.com/2016/04/13/calmcdmcmcppqml/ está el código fuente y la metodología usada y en el blog http://calcmate.blogspot.com/p/calc.html está la Calculadora McdMcm terminada lista para descargar y usar. Todo hecho con C++ y QT/QML


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.