Вы можете использовать класс-оболочку, который реализует поток и вызывает метод вашего виджета:
class MyWidget : public QWidget
{
[...]
void threadMethod();
};
class MyThread : public QThread
{
[...]
MyThread( MyWidget* widget )
: mWidget(widget)
{
}
void run()
{
mWidget->threadMethod();
}
MyWidget* mWidget;
};
Однако вы не должны вызывать какие-либо методы QWidget в "threadMethod", так как GUI и, следовательно, виджетыпринадлежат «основному» потоку, а методы QWidget не являются потокобезопасными!
Вероятно, было бы лучше сохранить ваш виджет и код потока полностью разделенными.