Название: Qt4 - Как отучить виджет не реагировать на события кл. и мыш Отправлено: pacmanoid от Август 22, 2006, 13:45 Использую Qt4. Сейчас пишу свой виджет. В виджете имеются различные элементы ввода (объекты QLineEdit и QTableWidget). Необходимо реализовать режим, при котором во всем виджете нельзя ничего изменить, тоесть чтобы вид оставался тотже а например в объекте QLineEdit нельзя было ничего ввести и в объекте QTableWidget нельзя было тоже ничего сделать, даже переместиться по ячейкам. Тоесть виджет в таком режиме будет только показывать инвормацию. Пробовал чтото типа setDisabled( bool ) или setEnabled( bool ), эфект тот но только палитра меняется. Хотелось бы тогоже но без каких быто внешних изменений. Можно конечно перехватить все его event-ы но наверное есть уже готовая функция, кто знает подскажите пожалуста. В C++Builder-е помоему была.
Название: Qt4 - Как отучить виджет не реагировать на события кл. и мыш Отправлено: bigirbis от Август 22, 2006, 14:08 Если подешевле: поменять палитру.
Если подороже: смотри eventFilter Название: Qt4 - Как отучить виджет не реагировать на события кл. и мыш Отправлено: pacmanoid от Август 22, 2006, 14:23 Цитата: "bigirbis" Если подешевле: поменять палитру. Если подороже: смотри eventFilter А по подробнее можно? Название: Qt4 - Как отучить виджет не реагировать на события кл. и мыш Отправлено: ElderOrb от Август 22, 2006, 14:23 Qt Assistant->QLineEdit-> void setReadOnly ( bool )
Название: Qt4 - Как отучить виджет не реагировать на события кл. и мыш Отправлено: bigirbis от Август 22, 2006, 16:49 Цитировать Qt Assistant->QLineEdit-> void setReadOnly ( bool ) В этом случае возможен переход курсора по виджетам, а также внутри них. По поводу палитры: Код: QPalette palette = lineEdit->palette(); Немного нагромождено, особенно предпоследняя сточка. :? |