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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTextEdit - Как отловить моменты появления/исчезновения полосы прокрутки?  (Прочитано 4335 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Июль 08, 2009, 13:18 »

Здравствуйте!


Имеем объект QTextEdit. Когда пишем текст, и текста становится много, появляется движок прокрутки. Когда удаляем текст, и весь текст начинает умещаться в области QTextEdit, движок прокрутки исчезает.

Эти моменты и нужно отловить. Как?

Смотрю доку по QAbstractScrollArea, ничего похожего не вижу.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Rcus
Гость
« Ответ #1 : Июль 08, 2009, 13:57 »

QAbstractScrollArea::verticalScrollBar(), QObject::installEventFilter, QEvent::Hide/Show?
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #2 : Июль 08, 2009, 18:32 »

QAbstractScrollArea::verticalScrollBar(), QObject::installEventFilter, QEvent::Hide/Show?

Спасибо, получилось!

Код:
EditorTextArea::EditorTextArea(QWidget *parent) : QTextEdit(parent)
{
 // Устанавливается фильтр на событие показа или скрытия области прокрутки
 this->verticalScrollBar()->installEventFilter(this);
}

...

bool EditorTextArea::eventFilter(QObject *o, QEvent *e)
{
 // Обработка показа или скрытия области прокрутки редактора
 if(o==this->verticalScrollBar())
  if(e->type()==QEvent::Hide || e->type()==QEvent::Show)
   {
    qDebug() << "Scroll bar switch between hide and show";
   }
}
Записан

Собираю информацию по крупицам
http://webhamster.ru
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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