Russian Qt Forum
Март 29, 2024, 00:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Кладовая готовых решений
(Модератор:
Пантер
) >
Накрываем виджеты стеклом. Эффект блокировки виджета.
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Накрываем виджеты стеклом. Эффект блокировки виджета. (Прочитано 22084 раз)
Bepec
Гость
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #15 :
Август 17, 2013, 10:06 »
Скроллы видимо не учитываются. Это бага
А если исправить вашу строчку, то виджет под стеклом станет доступным - нажатия, клики мышкой, клавиши - он будет полностью работоспособным. Это плохо
Смысла от стекла нет.
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #16 :
Август 17, 2013, 15:28 »
Код:
// Реализуем фильтр событий на виджете. Назначение этого фильтра - не
// допустить работу с виджетом под стеклом и обеспечить актуальные размеры и перерисовку стекла
bool SBGlass::eventFilter(QObject* /* object */, QEvent* event)
{
// Если показывается виджет или изменились его размеры, изменяем размеры
// стекла и позиционируем информационный блок
if ((event->type() == QEvent::Show) || (event->type() == QEvent::Resize))
{
wGlass_->resize(wGlass_->parentWidget()->size());
wGlass_->move(0, 0);
infoBlockPositioning();
return parent()->eventFilter(this, event);
}
...
}
Родительский виджет же сможет менять размер и только
Другие события до него будут блокированы glass'ом
Или я что то не помнимаю?
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Bepec
Гость
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #17 :
Август 17, 2013, 15:38 »
М... Надо подумать, посмотреть. По идее это родитель посылает дитятке изменение размера. А возвращая родителю, мы эм... рекурсию не вызовем?
Т.е. родитель изменяет размер, посылает евент дитятку накрытому стеклом, а дитятко пуляет евент родителю, а родитель смотрит - евент то дитятку предназначен и пошло погнало. Не?
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #18 :
Август 17, 2013, 19:26 »
Была бы рекурсия, прога бы сразу после запуска упала бы
Или дело в том, что у меня родитель не является основным окном, потому и не появляется рекурсия (
«
Последнее редактирование: Август 17, 2013, 19:45 от gil9red
»
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
kamre
Частый гость
Offline
Сообщений: 233
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #19 :
Август 17, 2013, 20:29 »
Цитата: Bepec от Август 16, 2013, 20:04
update: Это особенность gcc. Вместо варнинга или молчания, как другие компиляторы, он ставит еррор.
Лечение - припиши флаг -fpermissive компилятору.
Это
особенность стандарта C++
, просто gcc лучше ему следует, а MSVC имеет расширения, которые включены по умолчанию.
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #20 :
Август 17, 2013, 20:47 »
Ясно =)
Интересное чтиво )
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
Bepec
Гость
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #21 :
Август 17, 2013, 22:09 »
Я бы сказал так - gcc настолько следует стандарту, что зачастую проги, собранные на нём отказываются компилироваться в msvc
Это я знаю точно.
PS если кто не понял, это сарказм.
Записан
neversleep
Гость
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #22 :
Август 17, 2013, 22:16 »
Цитата: Bepec от Август 17, 2013, 22:09
Я бы сказал так - gcc настолько следует стандарту, что зачастую проги, собранные на нём отказываются компилироваться в msvc
Это я знаю точно.
PS если кто не понял, это сарказм.
К чёрту msvc, дайошь gcc.
(Ну все поняли)
Записан
Bepec
Гость
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #23 :
Март 10, 2018, 15:33 »
Предложения, претензии, инициативы предлагайте, пишите, излагайте
Записан
AkonResumed
Чайник
Offline
Сообщений: 81
Re: Накрываем виджеты стеклом. Эффект блокировки виджета.
«
Ответ #24 :
Октябрь 18, 2020, 20:19 »
Как ваше стекло соотносится с флагами Qt::WindowTransparentForInput, Qt::WA_TransparentForMouseEvents, Qt::WA_NoMousePropagation?
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...