Russian Qt Forum

Qt => Общие вопросы => Тема начата: Germiona от Май 12, 2008, 15:46



Название: Как определить включен ли режим вставки I n s e r t?
Отправлено: Germiona от Май 12, 2008, 15:46
Как в QT определить включен ли режим вставки и какой сигнал высылается при нажатии Insert?


Название: Re: Как определить включен ли режим вставки I n s e r t?
Отправлено: ged от Май 12, 2008, 18:25
По идее ты сам должен реализовать это с помощью отслеживания события QWidget::keyPressEvent() и определения какая клавиша была нажата, Insert это Qt::Key_Insert. При нажатии клавиши меняй значение, например, глобальной булевой переменной InsertMode на противоположное и вызывай функцию в которой реализуй то, что ты хочешь от режима Insert, ну и когда захочешь узнать текущее значение смотришь какое оно. Как-то так :).


Название: Re: Как определить включен ли режим вставки I n s e r t?
Отправлено: lit-uriy от Май 12, 2008, 22:31
глобальную переменную не надо, так или иначе свой класс сооружается, в нем объявляется свой сигнал и событие ловится, как ged написал, если поймалось посылается свой сигнал.


Название: Re: Как определить включен ли режим вставки I n s e r t?
Отправлено: Germiona от Май 13, 2008, 09:56
А библиотечных функций неужели нет? Как,например,QTextEdit отслеживает режим вставки


Название: Re: Как определить включен ли режим вставки I n s e r t?
Отправлено: BRE от Май 13, 2008, 10:01
А библиотечных функций неужели нет? Как,например,QTextEdit отслеживает режим вставки

Это имеется ввиду?
Код:
bool overwriteMode () const
void setOverwriteMode ( bool overwrite )


Название: Re: Как определить включен ли режим вставки I n s e r t?
Отправлено: Germiona от Май 13, 2008, 11:00
Да, спасибо  :)