app.exec () nie może wywołać innej metody (statyczna lib Qt)

Tworzę statyczne librairy Qt. Potrzebuję, wywołując jakąś metodę, aby zmienić położenie obrazu. Problem polega na tym, że proces „app.exec ()” całkowicie blokuje proces. Czy wiesz jak to zrobić ?

Wielkie dzięki !

Oto mój plik nagłówkowy biblioteki

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

a mój init to: 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;
}

problem polega na tym, że nie mogę wywołać w moim głównym kodzie (który używa tej biblioteki) metody changePos lub destroy, ponieważ app.exec () blokuje proces ... jak to zrobić?

Wielkie dzięki !

questionAnswers(2)

yourAnswerToTheQuestion