Problemas serios con QPrinter



  • hola amigos, mi problema es que tengo una aplicación pequeña en donde tengo una opción de imprimir, todo bien hasta ahí, cuando la ejecuto desde el entorno del Qt funciona perfectamente, pero cuando lo quiero ejecutar desde el .exe de la aplicación pues me sale un error; le agregue todas las librerías y plugins que necesita el ejecutable, pero aun así no funciona, aquí les comparto esta imagen donde muestro el mensaje de error y en donde esta mi ejecutable.
    cualquier ayuda se los agradecería. saludos.

    http://gyazo.com/ea0456a5dac86c3039055b2dc87fb416

    Nota:
    tambien les comparto mi codigo:

    archivo .pro

    @QT += core gui printsupport

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

    TARGET = imprimir
    TEMPLATE = app

    SOURCES += main.cpp
    mainwindow.cpp

    HEADERS += mainwindow.h

    FORMS += mainwindow.ui@

    cabecera de Mainwindows:

    @#ifndef MAINWINDOW_H
    #define MAINWINDOW_H

    #include <QMainWindow>

    namespace Ui {
    class MainWindow;
    }

    class MainWindow : public QMainWindow
    {
    Q_OBJECT

    public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    private slots:
    void on_actionImprimir_triggered();

    private:
    Ui::MainWindow *ui;
    };

    #endif // MAINWINDOW_H@

    archivo .cpp de MainWindows:

    @#include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QPrinter>
    #include <QMessageBox>
    #include <QPrintDialog>
    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);
    }

    MainWindow::~MainWindow()
    {
    delete ui;
    }

    void MainWindow::on_actionImprimir_triggered()
    {
    QPrinter printer;
    QTextDocument *document=ui->textEdit->document();
    QPrintDialog printDialog(&printer,this);
    if(printDialog.exec()==QDialog::Rejected){
    return;
    }
    document->print(&printer);
    QMessageBox::information(this,tr("Ejemplo"),tr("Archivo creado."));

    }@



  • segun lo que entiendo puede ser que esten usando otro compilador en qtcreator deberias ver cual tienes configurado.



  • bueno pues es el mismo que vienen usando, que es el Mingw



  • Hola

    Pues yo diría que ese error es algún problema con alguna .dll, o bien te falta alguna por añadir o has incluido una incorrecta, que no es de la versión o el compilador con la que has compilado .

    Saludos



  • Buenas tardes, bueno después de estar buscando por ahí y no encontrar nada pues llegue a una conclusión y de paso a la solución:

    Primero yo tengo instalado el Windows 8 pro de 64 bits en mi computadora, lo que hice fue instalar el Qt en una maquina que tenia el Windows 7 de 32 bits, hice el ejemplo, cree el ejecutable, agregue los archivos necesarios y de paso le cree un instalador, y ohh sorpresa funciono perfectamente; después probé instalando el mismo programa creado en la maquina de 32 bits, en mi pc que tiene el Windows de x64, y pues tambien funciono.

    Entonces llegue a la conclusión que se trata del sistema operativo, mas bien dicho de la arquitectura, ya que el Qt usa el compilador de 32 bits; ahora no se que tan cierto sea esa conclusión a la que llegue, pero como les dije funciono así como lo hice, espero que pueda servir de algo esto, saludos.



  • Hola, bueno de nuevo en este post; por que he descubierto almo mas acerca de la pregunta que hice. Resulta que reinstale mi sistema operativo y actualice al windows 8.1, y pues probé el ejemplo que hice; y funciono perfectamente; así que lo que dije del problema con sistema operativo de 64 bits, pues creo que no es muy cierto.


Log in to reply
 

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