Q_OBJECT
public:
Player();
public slots:
void run();
};
...
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
myThread=new Thread();
myPlayer->moveToThread(myThread);
myThread->start();
}
void MainWindow::on_runButton_clicked()
{
player->run();
}
В методе run, просто для примера, while(true).
При запуске run блокируется gui, помещение в новый тред не помогает.
Что делаю не так ?
пока просто нужно чтобы жил gui, останавливать тот while не нужно
Ну во первых вы пытаетесь сделать ран экземпляра класса который находится в другом потоке, а во вторых где само объявление класса
Вызываешь на прямую метод в потоке gui. Тебе надо сигнал отправить, чтоб запустить слот. И коннект сигнала и слота делай Qt::QueuedConnection
Обсуждают сегодня