После создания нами файла переводов
Рис. 17.2.
Если мы хотим заново сгенерировать файлы
lrelease -verbose spreadsheet.pro
Если мы выполняли перевод 19 строк на французский язык и отметили флажком Done 17 из них, утилита
Updating 'spreadsheet_de.qm'...
Generated 0 translations (0 finished and 0 unfinished)
Ignored 98 untranslated source texts
Updating 'spreadsheet_fr.qm"...
Generated 19 translations (17 finished and 2 unfinished)
Ignored 79 untranslated source texts
Флажок Done игнорируется утилитой
Когда мы модифицируем исходный код приложения, файлы перевода могут устареть. Решение этой проблемы заключается в повторном выполнении утилиты
Утилиты
Более подробную информацию относительно
Глава 18. Многопоточная обработка
Обычные приложения с графическим интерфейсом имеют один поток (thread) выполнения и производят в каждый момент времени одну операцию. Если пользователь через интерфейс пользователя вызывает продолжительную операцию, интерфейс, как правило, «застывает» до завершения операции. В главе 7 («Обработка событий») даются некоторые способы решения этой проблемы. Применение многопоточной обработки — еще один способ решения данной проблемы.
В многопоточном приложении графический пользовательский интерфейс выполняется в своем собственном потоке, а обработка осуществляется в одном или в нескольких других потоках. В результате такие приложения способны реагировать на действия пользователя даже при продолжительной обработке. Еще одним преимуществом многопоточной обработки является возможность в многопроцессорных системах одновременно выполнять несколько потоков на разных процессорах, увеличивая производительность.
В данной главе мы сначала продемонстрируем способы создания подкласса
Многопоточная обработка представляет собой обширную тему, которой посвящается много книг. В данной главе предполагается, что вам уже известны принципы многопоточного программирования, поэтому основное внимание уделяется методам разработки многопоточных приложений средствами Qt, а не теме потоков выполнения в целом.
Создание потоков
Обеспечить многопоточную обработку в приложении Qt достаточно просто: мы только создаем подкласс
01 class Thread : public QThread
02 {
03 Q_OBJECT
04 public:
05 Thread();