Название: РЕШЕНО MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: ninjaproger от Май 12, 2010, 14:16 Всем добрый день!
Столкнулся с проблемой: Система Mac OS X Snow Leopard В программе окно (QWidget с флагом Qt::Window) все время спрятано (hide()) при нажатии на иконку программы в трее обрабатывается сигнал иконки - activated и вызывается функция showFullScreen() окно раскрывается в полный экран, но иконка в трее перестает отображаться, хотя если по тому месту где она находилась кликнуть, то она либо появляется, либо просто генерит сигнал activated(). Если вызывать showFullScreen() из меню программы, все отрабатывает нормально и иконка не исчезает. В чем может быть проблема? Название: Re: MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: Wicked_Digger от Май 13, 2010, 10:59 Попробуй развязать через singleShot, часто помогает при подобных проблемах.
Название: Re: MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: ninjaproger от Май 13, 2010, 12:22 Проблема решена:
в обработчике трэй-иконки activated() вместо непосредственного запуска showFullScreen() запускается QTimer::singleShot(150,this,SLOT(grabScreen())); в grabScreen() вызывается функция showFullScreen() и все отрабатывает нормально. Огромное спасибо за помощь! Название: Re: РЕШЕНО MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: Wicked_Digger от Май 13, 2010, 15:22 150 зря поставил, будет зависимость от мощности машины и загрузки проца.
Или 0 для развязки по стеку (стандартный петерн в Qt), или надо искать другое решение, т.е. событие, после которого операция уже отрабатывает корректно. Название: Re: РЕШЕНО MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: pastor от Май 13, 2010, 17:04 Можно попробовать так:
Код
Название: Re: РЕШЕНО MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: ninjaproger от Май 13, 2010, 17:32 150 зря поставил, будет зависимость от мощности машины и загрузки проца. Или 0 для развязки по стеку (стандартный петерн в Qt), или надо искать другое решение, т.е. событие, после которого операция уже отрабатывает корректно. 150 подобрано опытным путем, если меньше 150 то не прокатывает. Тестилось под WMWare так что я думаю даже с самым слабым процем должно работать, но если есть более корректные варианты хотелось бы их попробовать. Название: Re: РЕШЕНО MAC OS X: После вызова showFullScreen() пропадает иконка в трее Отправлено: ninjaproger от Май 13, 2010, 17:39 Можно попробовать так: Код
К сожалению не помогло. |