Skip to content

Spanish

A forum for those speaking Spanish
505 Topics 1.8k Posts
  • Enviar carácteres con un botón por el puerto serial

    Unsolved
    5
    0 Votes
    5 Posts
    5k Views
    R

    @Jonathan77 Buenas la verdad que estoy muy interesado en lo que has puesto, pero no entiendo muy bien el significado, no se si el hilo secundario se actualiza cíclicamente o por el contrario solo cuando enviamos o recibimos datos. Esto es lo que mas me interesa pues estoy desarrollando una interfaz gráfica para un programa de control.
    Lo que querría es que leyera continuamente los puertos para actualizar la información de los sensores y del control en la GUI. Y solo envíar datos al micro cada vez que pulsaramos la interfaz.

    Para ello había pensado tener unos timer que fueran leyendo el puerto en el hilo secundario(para así poder monitorizar la interfaz en el primario) y poder refrescar la comunicación continuamente. Pero nose si el hilo secundario es cíclico o tengo que hacerlo yo ciclico con los timer.
    El bucle de control se realizará en un PLC de arduino. También habia pensado en comunicar un inversor con el Qt mediante Modbus TCP, pero creo que no hay librerias en Qt que lo permitan.

    Nose si me he explicado bien.

    Muchas gracias

  • Integrar OpenNI en QT

    Unsolved
    2
    0 Votes
    2 Posts
    785 Views
    juankiJ

    Hola @fcast

    Hacer una interfaz gráfica con Qt no es muy complicado, no sé si has repasado la documentación, si no, deberías hacerlo, trae muchos ejemplos con los que no tendrás problemas para iniciarte.

    Si estás usando QtCreator es fácil, ya que el mismo editor te proporciona opciones para añadir una ventana al proyecto y puedes editarla directamente de forma gráfica. Quizás cueste un poco al principio acostumbrase a los layouts, pero una vez le "pillas el truco" haces lo que quieras.

    Un saludo

  • Usar comandos con Qt

    Unsolved
    2
    0 Votes
    2 Posts
    1k Views
    C

    Te refieres a dentro del codigo? system("cd"); o system("pause");

  • Compilar mi .exe con todas la librerias necesarias

    Solved
    5
    0 Votes
    5 Posts
    4k Views
    C

    ¿Que tal? estuve algo ausente, pero ya volví, gracias por responder.

    Pues efectiva mente como dijiste amigo, asi era. Pero solo que tenia un pequeño detalle, cuando se abre la terminal, con el comando "cd", se entra a la carpeta, y luego se ejecuta el "windeploy.exe" y hay que pasarle como parametro un punto "." y quedaria algo asi "windwploy.exe ." y ahi si todo perfecto.

    Muchas gracias de nuevo por la atecion y un cordial saludo.

  • Ayuda no me compila

    Unsolved
    3
    0 Votes
    3 Posts
    870 Views
    freddy311082F

    tienes que instalarte la version del VS correspondiente para que te detecte el compilador para Windows. Revisa eso porfa :)

  • errors qdnslookup

    Unsolved
    2
    0 Votes
    2 Posts
    819 Views
    O

    "QDnsLookup dns = new QDnsLookup(this)" must be "QDnsLookup *dns = new QDnsLookup(this)"

  • ayuda errores al usar librerias estaticas

    Unsolved
    4
    0 Votes
    4 Posts
    1k Views
    H

    @RIVOPICO a mi me funciona colocar las mismas en el archivo .pro, por ejemplo:

    win32: LIBS += -LC:/Users/hector/QtLibs/pxlib-0.6.6-x86/ -lpxlib INCLUDEPATH += C:/Users/hector/QtLibs/pxlib-0.6.6-x86/include DEPENDPATH += C:/Users/hector/QtLibs/pxlib-0.6.6-x86/include win32: PRE_TARGETDEPS += C:/Users/hector/QtLibs/pxlib-0.6.6-x86/pxlib.lib

    Espero te sea de ayuda

  • Qt 5.7 Deployment para GNU/Linux

    Unsolved
    9
    0 Votes
    9 Posts
    4k Views
    Carlos DiazC

    @joaopagotto Cierto, son de mucha ayuda tus consejos, no sabia que se podian dar likes aca haha.

    Con respecto a la generación de .deb para ubuntu, estoy muy lejos de eso, como decia todo lo estoy aprendiendo dea poco, ahora que lo mencionas seria excelente aprenderlos a generar.

    Saludos

  • Mostrar datos de base de datos mediante QlineEdit

    Moved Unsolved
    2
    0 Votes
    2 Posts
    1k Views
    joaopagottoJ

    PT-BR

    Olá amigo, essa é uma dúvida da maioria dos desenvolvedores em Qt.
    Mas aproveitando esse espaço, vou deixar aqui o caminho para trilhar.
    Recomendo a leitura completa desse artigo primeiramente:

    http://doc.qt.io/qt-5/model-view-programming.html

    Aproveite e veja os exemplos em: C:\Qt\Examples\Qt-5.7\sql

    Atenção para o ItemDelegate para seu caso.

    No início parece um pouco confuso e complicado como o Qt trata esse acesso á banco de dados e visão.
    O Qt faz com que você construa padrões para fazer esse intercâmbio entre componentes de tela como banco de dados, json ou qualquer meio de acesso á dados disponível.

    Espero ter contribuído e sucesso na programação.

  • Error al compilar quick 3d

    Unsolved
    1
    0 Votes
    1 Posts
    393 Views
    No one has replied
  • 0 Votes
    2 Posts
    2k Views
    J

    Resuelto.

    En el código anterior que había expuesto, se me olvidó comentar que existe un método en el que realizo el proceso principal de la clase dentro de un bucle "infinito". ¡E ahí el problema!

    Por lo tanto solo había que cambiar un par de detalles.

    Cuando se sabe qué tocar resulta fácil, hasta entonces te vuelves loco intentando averiguar qué falla.

    class recolectorModbus : public QObject { // métodos varios... signals: void respuestaLista(QJsonDocument jDoc); public slots: void ejecutarInstruccion(QJsonDocument jDoc); private: void miProceso() { while(true) { // Write and read Serial Port // Save data in json } } }

    Pasa a convertirse en:

    class recolectorModbus : public QObject { // métodos varios... signals: void respuestaLista(QJsonDocument jDoc); public slots: void ejecutarInstruccion(QJsonDocument jDoc); private: void miProceso() { while(true) { // Write and read Serial Port // Save data in json // New line: QCoreApplication::processEvents(QEventLoop::AllEvents); } } }

    En el main() hay que añadir la siguiente conexión:

    QObject::connect(&hilos[i], SIGNAL(start()), &recolecta[i], SLOT(miProceso()));

    Con esto consigo que al iniciarse el hilo de ejecución se ponga en marcha mi proceso.

    Con la nueva línea QCoreApplication::processEvents(QEventLoop::AllEvents); al final del bucle del proceso consigo que se ejecuten los eventos que se hayan producido en este hilo.

    No se si es la mejor solución, pero me funciona. Si alguien tiene una propuesta mejor, soy todo oidos.

  • Embeber aplicaciones

    Unsolved
    1
    0 Votes
    1 Posts
    512 Views
    No one has replied
  • Libreria qextserialport

    Unsolved
    2
    0 Votes
    2 Posts
    956 Views
    O

    Hola,

    El enlace de la libreria es este: https://sourceforge.net/projects/qextserialport/

    Tienes que bajartela, compilarla e instalar el plugin que genera. Tendrás que hacerlo para Debug y Release.
    Esta libreria está hecha por terceros y es por esto que no está incluída en el port de Qt 4 oficial

    Si quieres menos trabajo te recomiendo que utilices la versión 5 de Qt que ya trae la la clase QSerialPort oficialmente soportada por Qt. Puedes pasar tu proyecto de Qt 4 a Qt 5 con muy pocos pasos.

  • 0 Votes
    2 Posts
    1k Views
    Dante LeonciniD

    Lo resolvi ya con este ejemplo http://doc.qt.io/qt-4.8/qdeclarativedynamicobjects.html
    Lo malo es que tengo que programar varias cosas que con el codigo anterior hacia perfectamente. pero ahora puedo crear las ventanas dinamicamente y cada una es independiente. no estan mas en una lista o cuadricula.

  • 0 Votes
    2 Posts
    1k Views
    JoanJinglesJ

    Vale, me respondo a mi mismo y de paso ofrezco la solución a quien la esté buscando:

    La solución la he encontrado aquí: http://stackoverflow.com/questions/31235471/qt-version-incrementing

    Crear un archivo version.bat que contenga:

    ```

    @echo off
    set /p var= <version.txt
    set /a var= %var%+1
    echo %var% >version.txt
    break >version.h
    echo #define VERSION_MAJOR 1 >version.h
    echo #define VERSION_MINOR 0 >>version.h
    echo #define VERSION_BUILD %var% >>version.h
    echo %var%

    Poner el archivo en la carpeta de recursos del proyecto. Luego ir a projects y añadir un BuildStep. Al nuevo BuildStep le cargamos el archivo version.bat Compilamos Añadimos version.h en la sección HEADERS del archivo del proyecto Añadimos version.h en la clase donde queramos mostrar el número de compilación. Por ejemplo una ventana que informe a cerca del proyecto. Usar QString::number(VERSION_BUILD) para mostrar el número de la compilación en una etiqueta de texto.
  • Captura de imagen QML android

    Unsolved
    5
    0 Votes
    5 Posts
    2k Views
    L

    Parece que hay un bug cuando usas grabToImage en un item y en dispositivos Android o iPhone no funciona correctamente. Mirad esto: [https://forum.qt.io/topic/52115/qquickitem-grabtoimage-do-not-work-in-iphone/7](link url)

  • PostScript

    Unsolved
    2
    0 Votes
    2 Posts
    677 Views
    mchoccacM

    http://soft.proindependent.com/eps/

  • Aplicacion en QT: error Driver no loaded con base QMYSQL

    Solved
    13
    0 Votes
    13 Posts
    4k Views
    mchoccacM

    usa depency walker para ver que librerias necesita

  • Resta de doubles devuelve 1.13687e-13

    Unsolved
    5
    0 Votes
    5 Posts
    2k Views
    JoanJinglesJ

    @juanki

    Parece que he encontrado una explicación al problema: http://www.javamexico.org/blogs/luxspes/por_que_usar_bigdecimal_y_no_double_para_calculos_aritmeticos_financieros

    Por ahora lo resuelvo así:

    QListA.insert(c, QString::number(QListB.at(c) - QListC.at(c), 'f', 2).toDouble());

    Utilizo QString para forzar los decimales y redondear.
    Encontré esta solución aquí: http://www.qtforum.org/article/29565/output-a-double-to-only-2-decimal-points.html

    Sigo sin estar seguro si esta es la mejor manera de hacer un cálculo monetario de precisión. ¿Hay alguna otra manera de hacer esta operación sin margen de error?

  • Cifrar contraseña

    Unsolved
    2
    0 Votes
    2 Posts
    1k Views
    juankiJ

    Hola

    Yo he usado en algunos proyectos SimpleCrypt. Seguro que hay por ahí más librerías, estas que te propongo tienen la ventaja que son muy sencillitas de usar.

    Un saludo