Skip to content

Spanish

A forum for those speaking Spanish
505 Topics 1.8k Posts
  • Como insertar una imagen en un QtTableView??

    3
    0 Votes
    3 Posts
    835 Views
    B

    @Matej Thanks!!!

  • QDataWidgetMapper with QComboBox editable

    Moved Solved
    1
    0 Votes
    1 Posts
    199 Views
    No one has replied
  • Guardar QSqlQuery.prepare en un QString.

    Solved
    3
    0 Votes
    3 Posts
    321 Views
    L

    Muchas gracias por la información y por el interés.
    Al final como los valores para el bindValue llegaban de una QStringList monto la sentencia desde ella pero he aprendido una cosa mas.

  • qfile personalizado

    Moved Unsolved
    2
    0 Votes
    2 Posts
    240 Views
    mrjjM

    Hola. Estás en la sección de inglés del foro, así que estoy usando el traductor de Google.
    Qt utiliza los cuadros de diálogo del sistema operativo y no ofrece forma de agregar widgets adicionales a ese cuadro de diálogo desde su origen.

  • Manejo de parametros con QTRpt

    Solved
    2
    0 Votes
    2 Posts
    390 Views
    ColomanC

    La respuesta es Esta:

    QString valores[4]; valores[0]="primero"; valores[1]="segundo"; valores[2]="tercero"; valores[3]="cuarto"; QtRPT *reporte= new QtRPT(this); reporte->loadReport(":/impresiones/prueba.xml"); reporte->recordCount.append(4); connect(reporte,&QtRPT::setValue,[&](const int recNo,const QString paramName,QVariant &paramValue,const int reportPage) { (void) reportPage; if(paramName=="grupo") { if(recNo>=2) {paramValue="Grupo 2";} else {paramValue="Grupo 1";} } if(paramName=="dato1") {paramValue=valores[recNo];} }); reporte->printExec();
  • Aplicaciones Android

    Unsolved
    3
    0 Votes
    3 Posts
    366 Views
    juankiJ

    Hola

    No sé si miraste la documentación:
    https://doc.qt.io/qt-5/android-getting-started.html

    Por ahí puedes empezar, mucho más no te puedo ayudar pues no uso Qt para programar para Android.

    Un saludo

  • Qt Creator en español

    Unsolved
    1
    0 Votes
    1 Posts
    509 Views
    No one has replied
  • funcion sobre metodo

    Unsolved
    2
    0 Votes
    2 Posts
    333 Views
    juankiJ

    Hola

    Para que puedas hacer eso, cada método o función tiene que devolver un objeto o algo, siendo que la siguiente función se ejecuta sobre el objeto que devuelve la anterior y así en cadena.

    Un ejemplo de un programa que estoy haciendo ahora:

    ui->edCodigo->text().trimmed().length()

    ui->edCodigo es un puntero a un QLineEdit, text() retorna un QString, a ese QString le ejecuto su método trimmed(), que retorna otro QString y a éste último ejecuto el método length(). Es decir, cada método se ejecuta sobre el objeto que retorna el anterior, no sobre el primero que llamaste.

    Dart (de google), dispone de un operador .. (dos puntos) que sí ejecuta una serie de métodos "en cascada" sobre un mismo objeto, pero eso no existe en C++, que yo sepa, claro.

    Un saludo

  • Duda acerca de licencias

    Unsolved
    5
    0 Votes
    5 Posts
    934 Views
    H

    Qt se distribuye bajo 3 licencias a elección del programador:

    GNU GPL: Los programas que hagan uso de Qt tienen que distribuirse bajo la GPL. GNU LGPL: Los programas que hagan uso de Qt pueden distribuirse bajo cualquier licencia que se le antoje al programador, sea libre o no, siempre y cuando solo se enlace con las librerías. El programa debe distribuirse bajo la LGPL si se enlaza estáticamente. Comercial: Los programas que hagan uso de Qt pueden distribuirse bajo cualquier licencia que se le antoje al programador, sea libre o no, se permite la compilación estática.
  • Múltiples ventanas desde QML

    Solved
    2
    0 Votes
    2 Posts
    501 Views
    juankiJ

    Hola

    Bueno, hice algunas cosillas, no sé si de la forma más correcta. QML dispone de la clase ApplicationWindow que uso para la ventana principal y luego también dispone de las clases Dialog o Window que me valen para diseñar las ventanas y luego desde código al pulsar un botón las instancio. Fácil.

    Pero también he usado Item para crear crear las ventanas y en este caso puedo meterla dentro de un StackView por ejemplo, con lo que queda muy "guay".

    Como digo, no sé cual será la forma más correcta, dada mi poca experiencia con QML, de momento tengo el programa con ventanas de las dos formas y no sé por cual decidirme :P

    Un saludo

  • 0 Votes
    5 Posts
    1k Views
    mrjjM

    @Xedig
    Hi
    Para producir un solo archivo ejecutable que tenga todas las Dll Qt incluidas en él, se denomina enlace estático.
    Para eso necesitas construir una versión estática de Qt, y también tener en cuenta que tiene restricciones de licencias si tu aplicación no es verdaderamente de código abierto.
    Ps. Google traducido así puede sonar tonto. ;)

  • Recibir datos por puerto serial

    Unsolved
    4
    0 Votes
    4 Posts
    940 Views
    O

    Recuerda que en el SLOT vas a recibir datos toceados o sea que nunca esperes recibir toda una respuesta en una sola llamada al SLOT.
    Si miras los ejemplos de los Sockets verás que lo que se hace es empilar lo que recibes y luego compruebas si ya tienes TODA la respuesta. Cuando la tienes procesas esos datos.

  • 0 Votes
    1 Posts
    322 Views
    No one has replied
  • construir una apk android.

    Unsolved
    5
    0 Votes
    5 Posts
    1k Views
    mchoccacM

    arm7a son la mayoria de telefonos, arm64 para los nuevos.

    Lo otro es que tienes que tener sdk de android, y jdk configurado, encaso que ya tienes todo hay que limpiar la salida ya que la en mi caso a veces sucede, lo otro es que caso que te algun error debes de eliminar NombreProyecot.pro.user

  • Aplicación con múltiples 'dialogs'.

    Unsolved
    4
    0 Votes
    4 Posts
    897 Views
    juankiJ

    Hola

    Si con C++ funciona como esperas y no con python, debe ser cosa de la versión de Qt para phyton o del propio phyton, ahí no te puedo ayudar, quizás en la documentación haya algo.

    No sé si en phyton hay el concepto de destructor o algo similar, podrías usarlo para cerrar desde ahí las ventanas que tengas abiertas. Y si no lo hay, podrías usar el evento CloseEvent para cerrar las ventanas que te queden abiertas.

    Un saludo

  • Qt for WebAssembly

    Unsolved
    2
    0 Votes
    2 Posts
    551 Views
    lorn.potterL

    @Weimars
    ¿Qué versión de Emscripten estás usando? Qt 5.12 needs 1.38.16

    ./emsdk install sdk-1.38.16-64bit
    ./emsdk activate --embedded sdk-1.38.16-64bit

    Los binarios de Qt para WebAssembly están disponibles en Qt 5.13-beta, que necesita Emscripten 1.38.27

    Lo sentimos, traducción por google. :)

  • QOpenGLShader::link error con gl_Position

    Solved
    2
    0 Votes
    2 Posts
    541 Views
    J

    I found the solution. I let it here jusut in case someone need it:
    The problem was that I assigned a reference to a pointer in the compileShader method but when I exit the funtion the reference is destroyed.

    compileShader method :

    QOpenGLShader* shaderProgram::compileShader( const char *filename, QOpenGLShader::ShaderTypeBit type) { // Comprobamos si en la solución existe algún archivo de recursos con el // nombre que se pasa como argumento if (!fileExists(filename)) { fprintf(stderr, "Shader source file %s not found.\n", filename); return nullptr; } // Si existe se lee en una cadena de caracteres que contiene el listado // completo del shader source std::ifstream shaderSourceFile; shaderSourceFile.open(filename); if (!shaderSourceFile) { fprintf(stderr, "Cannot open shader source file.\n"); return nullptr; } std::stringstream shaderSourceStream; shaderSourceStream << shaderSourceFile.rdbuf(); std::string shaderSourceString = shaderSourceStream.str(); shaderSourceFile.close(); // - Creamos un shader object para ese archivo que se ha leído QString code(QString::fromStdString(shaderSourceString)); QOpenGLShader* shader = new QOpenGLShader(QOpenGLShader::Vertex); bool result = shader->compileSourceCode(code); if(!result){ const QString qs = shader->log(); std::cout << qs.toStdString(); this->logString = qs.toStdString(); delete shader; return nullptr; } //si ha compilado bien, creamos el shader return shader; }

    You must call the method like this:

    std::string vertFileName = std::string(fileName) + "-vert.glsl"; QOpenGLShader* vertex = compileShader(vertFileName.c_str(), QOpenGLShader::Vertex); if (!vertex) { return 0; } std::string fragFileName = std::string(fileName) + "-frag.glsl"; QOpenGLShader* fragment = compileShader(fragFileName.c_str(), QOpenGLShader::Fragment); if (!fragment) { return 0; }
  • Dudas con push button y label en qt creator

    Unsolved
    2
    0 Votes
    2 Posts
    607 Views
    O

    Usa un QTimer. Conecta el SIGNAL "timeout()" a un SLOT. En el SLOT abre el fichero con un QFile y lee el contenido con un QTextStream.
    No hace falta tener el Botón para esto.
    Te recomiendo un QPlainTextEdit para mostrar el contenido. Haces un "clear()" y luego "appendplainText(QString)" con lo que hayas leido del fichero.

  • Como quitar las banderas de cerrar minimizar y maximizar?

    Unsolved
    3
    0 Votes
    3 Posts
    3k Views
    F

    Hola @Chencrack

    #include "dialog.h"
    #include <QApplication>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    Dialog w;
    w.setWindowFlags(Qt::FramelessWindowHint); //Elimina los bordes de la ventana
    w.show();

    return a.exec();

    }

  • QTableView

    Unsolved
    3
    0 Votes
    3 Posts
    1k Views
    juankiJ

    Hola @lincoln

    Gracias por compartir la solución, justo me viene bien, estaba mirando precisamente la forma de moverme por una tabla y saber en qué celda estoy y me vale esa solución.

    Un saludo