Название: Форма перестает отрисовывать Отправлено: qwyllum от Декабрь 06, 2012, 13:58 Доброго времени уважаемые форумчане) Буду очень признателен, если кто-нибудь объяснит мне, в чем суть проблемы. Нашел исходник программы, которая отслеживает обращения к выбранному файлу. Исходник консольный. Переделал его для QT сперва заменив printf на qDebug() - все отлично работает. Однако мне нужен GUI - поэтому, заменил дебаг на listwidget.InsertItem(). Как только программа начинает отслеживать изменения файла, форма зависает и перестает отрисовываться и реагировать на нажатия. Посколько qDebug нормально работает, я сделал вывод, что просот не до конца понимаю специфику работы GUI приложений. Подскажите пожалуйста, где я упустил что.
Выкладываю код, при котором GUI зависает: Код: void Dialog::on_pushButton_clicked() PS Я очень благодарен тем, кто тратит свое время и помогает новичкам Название: Re: Форма перестает отрисовывать Отправлено: kambala от Декабрь 06, 2012, 14:32 вставь qApp->processEvents() в бесконечный цикл. но думаю лучше воспользоваться QFileSystemWatcher.
Название: Re: Форма перестает отрисовывать Отправлено: qwyllum от Декабрь 06, 2012, 14:40 вставь qApp->processEvents() в бесконечный цикл. но думаю лучше воспользоваться QFileSystemWatcher. Простите, QFileSystemWatcher выполняет ту же функцию, что и inotify? т.е. Может сказать, происходят ли какие-то действия над указанным файлом? Название: Re: Форма перестает отрисовывать Отправлено: ecspertiza от Декабрь 06, 2012, 14:49 ага, и пошлет сигнал если произошли изменения с файлом или дирректорией.
Название: Re: Форма перестает отрисовывать Отправлено: Bepec от Декабрь 06, 2012, 15:02 QFileSystemWather в версиях 4.7 (точно. В 5.0 незнаю) не даёт сигнала при изменении нутрей файла. Только удаление/перемещение. Возможно и копирование, но не пробовал.
Название: Re: Форма перестает отрисовывать Отправлено: Igors от Декабрь 06, 2012, 16:56 Как мне получить доступ к приложению из методов диалога? Пробовал передавать переменную класса QApplication в конструкторе по ссылке , но ругается на то, что не указан параметр по умолчанию. А ссылку можно один раз инициализировать в принципе, если я не ошибаюсь. Как быть, подскажите пожалуйста? Вы задали пожалуй самый популярный вопрос :) По существу он равен вопросу "а как программировать?". Возможна масса общих ответов но толку с них маловато. Поэтому приведите конкретный пример - зачем Вашему диалогу понадобилось лезть в данные приложения. Тогда и ответы могут быть более конкретны/полезны Edit: запостил и увидел что вопроса уже нет - ну это к лучшему :) Название: Re: Форма перестает отрисовывать Отправлено: kambala от Декабрь 14, 2012, 01:07 QFileSystemWather в версиях 4.7 (точно. В 5.0 незнаю) не даёт сигнала при изменении нутрей файла. в 4.8.3 сигнал срабатываетНазвание: Re: Форма перестает отрисовывать Отправлено: Bepec от Декабрь 14, 2012, 07:07 Значит исправили ) Но для 4.7.2 надо опасаться :)
|