QT: Interaction with User Input inside GUI Action

In my application, there is a QAction, say its name is GuiWorkerAction, when it is triggered, it will draw some graphs on QGraphicsView. At some point, the action needs a region to continue, say the region's name is inputROI, which is acquired by using mouse to draw on the graphics view.

If the action GuiWorkerAction doesn't do GUI worker, then I can run this action in another thread, and wait for the thread to finish. But when it displays GUI elements, the new thread idea just holds the main GUI thread to display anything.

Slot for GuiWorkerAction is like:

    QGraphicsRectItem *rect = new 

    //###### here wait for user interaction ######//
    //say we need a circle from user drawing
    Circle* circle = wait_for_circle_from_user_drawing();

    //continue to draw other items for GuiWorkerAction 
    QGraphicsTextItem* text = scene->addText("bogotobogo.com", 
        QFont("Arial", 20) );

A difficulty is that the action GuiWorkerAction needs to wait for user input, but since it is in the main GUI thread, if it waits, then its user can't draw anything on the view with mouse.

So how can I resolve this issue?