Russian Qt Forum
Сентябрь 27, 2024, 07:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt4 - Как отучить виджет не реагировать на события кл. и мыш  (Прочитано 3712 раз)
pacmanoid
Гость
« : Август 22, 2006, 13:45 »

Использую Qt4. Сейчас пишу свой виджет. В виджете имеются различные элементы ввода (объекты QLineEdit и QTableWidget). Необходимо реализовать режим, при котором во всем виджете нельзя ничего изменить, тоесть чтобы вид оставался тотже а например в объекте QLineEdit нельзя было ничего ввести и в объекте QTableWidget нельзя было тоже ничего сделать, даже переместиться по ячейкам. Тоесть виджет в таком режиме будет только показывать инвормацию. Пробовал чтото типа setDisabled( bool )  или setEnabled( bool ), эфект тот но только палитра меняется. Хотелось бы тогоже но без каких быто внешних изменений. Можно конечно перехватить все его event-ы но наверное есть уже готовая функция, кто знает подскажите пожалуста. В C++Builder-е помоему была.
Записан
bigirbis
Гость
« Ответ #1 : Август 22, 2006, 14:08 »

Если подешевле: поменять палитру.
Если подороже: смотри eventFilter
Записан
pacmanoid
Гость
« Ответ #2 : Август 22, 2006, 14:23 »

Цитата: "bigirbis"
Если подешевле: поменять палитру.
Если подороже: смотри eventFilter


А по подробнее можно?
Записан
ElderOrb
Гость
« Ответ #3 : Август 22, 2006, 14:23 »

Qt Assistant->QLineEdit-> void setReadOnly ( bool )
Записан
bigirbis
Гость
« Ответ #4 : Август 22, 2006, 16:49 »

Цитировать
Qt Assistant->QLineEdit-> void setReadOnly ( bool )

В этом случае возможен переход курсора по виджетам, а также внутри них.

По поводу палитры:

Код:
QPalette palette = lineEdit->palette();
palette->setCurrentColorGroup ( QPalette::Disabled );
palette->setColorGroup( QPalette::Disabled, windowText(),... );
lineEdit->setPalette( palette );

Немного нагромождено, особенно предпоследняя сточка.  :?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.066 секунд. Запросов: 21.