Варианты:
1. Попробуйте в той проге, что пишет логи после написания закрывать файл
2. Или хранить логи в базе простенькой логи (например sqlite)
1. Если закрывать файл, то может получится так, что вторая программа заблокирует файл для первой. Разве нет?
2. К сожалению, на той машине, где будет крутится первая программа, разрешений на установку, даже SQLite, у меня нет.
В C# использовал такую конструкцию:
file = new StreamReader(new FileStream(path + "test.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete));
А в Qt что нибудь есть такое? В доках не нашёл!