Название: Read Only Отправлено: sergek от Февраль 13, 2015, 20:51 Коллеги,
как в таких виджетах, как QCheckBox, QSpinBox, QRadioButton и др., запретить изменение их величин, по аналогии с readOnly в QLineEdit? Свойство enabled не подходит, т.к. оно изменяет отображение элемента. Название: Re: Read Only Отправлено: kambala от Февраль 13, 2015, 20:53 унаследуйся да перекрой соответствующие методы
Название: Re: Read Only Отправлено: __Heaven__ от Февраль 13, 2015, 22:06 или сигнал ловить и в обратную ставить
Название: Re: Read Only Отправлено: Bepec от Февраль 13, 2015, 22:35 Ставить eventFilter и плевать свысока на все события :)
Название: Re: Read Only Отправлено: sergek от Февраль 14, 2015, 10:43 Спасибо! Попробую.
Название: Re: Read Only Отправлено: Igors от Февраль 14, 2015, 11:27 унаследуйся да перекрой соответствующие методы Они не виртуальны, да и перекрывать многоватоСвойство enabled не подходит, т.к. оно изменяет отображение элемента. Может все-таки setEnabled(false), а самому похимичить с палитрой/стилем чтобы отображалось как enabledНазвание: Re: Read Only Отправлено: Old от Февраль 14, 2015, 11:59 Можно попробовать установить для этих виджетов фильтр событий и игнорировать все события от мыши и клавиатуры.
Название: Re: Read Only Отправлено: sergek от Февраль 14, 2015, 15:13 С фильтром работает, но у меня виджеты создаются динамически и придется химичить. Оставил на потом, как прототип одобрят.
Про палитру я думал, с ходу не получилось, но у меня нет опыта в этой части. Попробую разобраться. Спасибо! Название: Re: Read Only Отправлено: Igors от Февраль 15, 2015, 08:55 Про палитру я думал, с ходу не получилось, Вот делал для окнаКод Можно попробовать Disabled вместо Active, Название: Re: Read Only Отправлено: sergek от Февраль 15, 2015, 20:34 Вот делал для окна Хорошо, пригодится. |