Читал Бланшет, но там для примеров приводятся либо самые простые, либо специфические случаи. Поэтому прошу подсказки у знатоков.Есть приложение на основе QMainWindow. Одна из задач - считывать данные из больших файлов. Данные нужно считывать не целиком, а небольшими частями, которые отображаются определенным образом во время считывания. Понятно, что если это делать без потоков, то окно зависнет, пока не будет все прочитано. Поэтому встал вопрос о применении потока.У приложения есть функция, считывающая кусок в файле заданной длины. Нужно, чтобы второй поток просто в цикле выполнял эту функцию. Можно ли сделать это примерно так: в главном приложении создается объект подкласса QThread с перегруженной функцией run(), в конструкторе потока передавать ему ссылку на QMainWindow (т.е. this), а в функции run в потоке вызывать через этот указатель ту самую функцию считывания? Или есть более правильные приёмы?
|