Название: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: Maksim от Мая 23, 2011, 12:56 Всем Привет!
Не могу решить тривиалную проблему :-( Хочу сосдать информационно уведомительное окно, как типо в Mozilla Thunderbird. Окно появляетса каждий раз как поступает новая информация в нижнем правом углу desktop. Информационные строчки (QLabel) добавляютса динамически, соответсвенно изменяетса geometry окна и его надо перемешать в плоскости. Вопрос: КАК добратса до актуалного размера окна чтоб сделать ету простую операцию: Код: void MyWidget::calcSizeAndMove() Заранее благодарю за помошь! Maksim Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: GreatSnake от Мая 23, 2011, 12:58 Код
Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: Maksim от Мая 23, 2011, 13:26 спасибо! size() уже луче но ещё не совсем то что надо... пробую frameSize()...
Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: m_ax от Мая 23, 2011, 15:31 спасибо! size() уже луче но ещё не совсем то что надо... пробую frameSize()... Перед тем как вызывать size() нужно сделать adjustSize(), как написал GreatSnake.Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: Maksim от Мая 23, 2011, 16:13 Собрал неболшой пример. Думаю так будет легче для всех. Надеюс кто нить найдёт мою ошибку....
СПАСИБО!!! Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: Maksim от Мая 23, 2011, 17:15 Есть идеи?
Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: m_ax от Мая 23, 2011, 17:16 Собрал неболшой пример. Думаю так будет легче для всех. Надеюс кто нить найдёт мою ошибку.... Нужно заменить Qt::SplashScreen на Qt::ToolTip.СПАСИБО!!! По впечатлениям, написано криво.. К тому же пришлось править ваш код под линем, чтоб он нормально собрался.. Пишите в инклудах Qt - шные классы правильно, например: Код вместо Код Ещё не понял, зачем создавать целый список QLabel, вместо того, чтоб один раз создать (где нить в конструкторе) всего одну метку и передовать в неё уже разные сообщения? И ещё, если дважды нажать на кнопку во время анимации, то на этом всё и закончится. Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: Maksim от Мая 23, 2011, 17:37 Нужно заменить Qt::SplashScreen на Qt::ToolTip. Изменил, изменнений не дало. К тому же пришлось править ваш код под линем, чтоб он нормально собрался.. работаю на винде. таких проблем нет, но учту, спасибо.Пишите в инклудах Qt - шные классы правильно... Ещё не понял, зачем создавать целый список QLabel, вместо того, чтоб один раз создать (где нить в конструкторе) всего одну метку и передовать в неё уже разные сообщения? Список QLabel создал, чтоб легче было добратьса до всех QLabel элементов.одной метки мне не хватит... количество строчек не ограничено на одну их может быть множество. Можно конечно было бы и через QObjectList = children() но лень :-) И ещё, если дважды нажать на кнопку во время анимации, то на этом всё и закончится. Проблему с кнопкой не пойму?!?!? клацаю -> инфо строчки добавляютса, обрыва нет.Собрал под Qt 4.7.2 Название: Re: Не могу решить тривиалную проблему с размерами окна :-( Отправлено: Maksim от Мая 24, 2011, 00:30 проблему решил но с помощью костыля :-( пока другой возможности не вижу...
Проблема в том что функция move(QPos(x,y)) не работает сразу после вызова setVisible(true)!!! Видать там что то ешё должно отработаться в eventLoop. Вызываю move(..) через postEvent(...) всё пашет!!! ??? Код: { |