app.exec () não pode chamar outro método (lib estático Qt)

Eu crio um librairy estático Qt. Preciso chamando algum método, para alterar a posição de uma foto. O problema é que o "app.exec ()" bloqueia completamente o processo. Você sabe como fazê-lo ?

Muito obrigado !

Aqui está o meu arquivo de cabeçalho do lib

int init(int argc, char *argv[], int width, int height);
void changePos (int x, int y);
void destroyPic();

e meu init é: QWidget * window (0); QLabel * pic (0);

int init(int argc, char *argv[], int width, int height) {
    // initialize resources, if needed
    Q_INIT_RESOURCE(target);

    QApplication app(argc, argv);
    window = new QWidget();
    window->setWindowTitle("Test");
    window->setFixedSize(width, height);
    // create and show your widgets here
    pic = new QLabel(window);

    QPixmap pixmap(QString(":/res/pic.png"));
    pic->setPixmap(pixmap);
    pic->move(100,100);
    pic->setVisible(true);
    window->show();
    app.exec();

    return 0;
}

o problema é que não consigo chamar no meu código principal (que usa essa lib) o método changePos ou destruir porque o app.exec () bloqueia o processo ... como fazer isso?

Muito obrigado !

questionAnswers(2)

yourAnswerToTheQuestion