Russian Qt Forum

Qt => Общие вопросы => Тема начата: NortT от Июнь 02, 2011, 19:48



Название: Одна кнопка + несколько textEdit'ов
Отправлено: NortT от Июнь 02, 2011, 19:48
Добрый день!
Есть на форме некоторое неизвестное заранее количество textEdit'ов. И есть toolButton, который выполняет некоторое действие, например, делает текст в текстЕдите жирным или еще чего нибудь, неважно. Так вот, как определить текущий текстЕдит, над которым необходимо совершить нужное действие? Есть идея, что-то типа при получении фокуса текстЕдитом запоминать этот текстЕдит как текущий и делать connect сигнала кнопки с необходимым слотом текстЕдита, предварительно сделав disconnect для предыдущего коннекта.


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: _OLEGator_ от Июнь 02, 2011, 19:58
Узнать активный (на котором находится фокус) виджет:
Код:
QApplication::focusWidget()
Чтобы фокус не перешел на кнопку:
Код:
QWidget::setFocusPolicy(Qt::NoFocus)

Есть еще вариант просто запоминать последний QTextEdit, на котором побывал фокус:
Код:
void QApplication::focusChanged(QWidget * old, QWidget * now) [signal]


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: NortT от Июнь 16, 2011, 14:37
Ну в общем сделал вот так, не знаю насколько это хорошо и правильно, кто-нибудь оцените :)
Код
C++ (Qt)
   QWidget *w = QApplication::focusWidget();
   this->curTextEdit = qobject_cast<CTextEdit*>(w);
   if (!this->curTextEdit) this->curTextEdit = NULL;


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: kambala от Июнь 16, 2011, 15:14
третья строчка абсолютно бессмысленная


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: NortT от Июнь 16, 2011, 16:39
А точно, оно же и так нулем будет, если не кастанется.


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: Авварон от Июнь 17, 2011, 20:22
писать NULL на с++ моветон


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: Пантер от Июнь 17, 2011, 20:28
Давайте только без NULL vs 0. Было уже. (http://www.prog.org.ru/topic_7458_0.html)


Название: Re: Одна кнопка + несколько textEdit'ов
Отправлено: NortT от Июнь 18, 2011, 10:46
писать NULL на с++ моветон
Да без проблем, как скажешь :)