Название: QDialog и QThread Отправлено: Vlcyrex от Февраль 10, 2009, 21:59 Извините за три глупых вопроса :)
Ситуация следующая - работает основная программа, в параллельном потоке идёт пинг соседних компьютеров. Если пинг не проходит появляются окна QDialog с сообщениями. Вопросы: 1). Когда делаю параллельный поток для пинга, если использую QTimer, то параллельности уже нет - пинг тормозит основную программу, если просто использую бесконечный цикл со sleep(), то всё норм. Кто знает почему?)) 2). Нужно чтобы появлялось бесконечное множество окон. В цикле следующая строка Mywarn * my_warn = Mywarn(); Где Mywarn наследник класса QDialog. В итоге указатель перемещается по памяти, создавая новые окна. Вопрос: когда я нажимаю кнопку Close на старых окнах - память очищается? В QDialog установлен флаг WFlags f=Qt::WDestructiveClose. 3). Стала появлятся следующая ошибка, если при создании первого такого окна - основная программа раскрыта на экран, то программа падает по segmentation fault. Если же дело происходит в трее - то нет. падает программа на строке, которая выше. Название: Re: QDialog и QThread Отправлено: Swappp от Февраль 10, 2009, 22:12 Вся работа с GUI должна происходить в основном потоке.
Цитировать 1). Когда делаю параллельный поток для пинга, если использую QTimer, то параллельности уже нет - пинг тормозит основную программу, если просто использую бесконечный цикл со sleep(), то всё норм. Кто знает почему?)) К какому потоку относится QTimer?Название: Re: QDialog и QThread Отправлено: Vlcyrex от Февраль 10, 2009, 22:25 К дочернему. Где происходит пинг.
Название: Re: QDialog и QThread Отправлено: pastor от Февраль 10, 2009, 22:42 В каком потоке создается QDialog?
Название: Re: QDialog и QThread Отправлено: Vlcyrex от Февраль 11, 2009, 16:10 QDialog создаётся в основном потоке по сигналу из дочернего-паралельного.
Название: Re: QDialog и QThread Отправлено: ритт от Февраль 11, 2009, 16:16 QDialog создаётся в основном потоке по сигналу из дочернего-паралельного. как может быть дочерний поток одновременно параллельным? :)я понимаю что имелось в виду, но всё-равно звучит несуразно...как пересекающиеся параллельные прямые :) |