Я хочу повторно реализовать функцию запуска, создав свой собственный класс QThread.ui защищен, но как его использовать в переопределенной функции Qthread run()
Я создал это,
class MyThread : public QThread
{
public:
void run();
};
void MyThread::run()
{
gui w;
w.listen_device(w.ui->comboBox->currentIndex());
exec();
}
Я не могу использовать QPaint вне основного потока, так что я даю значение в качестве аргумента в моей функции listen_device.
Я знаю, что ui от gui защищен, так как я могу получить это значение?
Спасибо.
Это больше, чем просто краска, которая не может быть в фоновом потоке. QWidgets не может быть создан в фоновом потоке вообще. Если ваши виджеты создаются в конструкторе 'gui', вам нужно будет пересмотреть свой дизайн. Сохраняйте только логику в фоновом потоке и испускайте сигналы. В основном потоке вы можете поймать эти сигналы и обновить представление. – cgmb