AC
28 апреля 2022 г. 15:12

QScrollArea и автоматическая прокрутка при обходе элементов формы

QScrollArea

Доброго времени суток.
Возникла необходимость реализовать прокрутку в QScrollArea .
Есть форма со сложной структурой и с множественными элементами (описывать долго, приведу скриншот):

К примеру: в scrollAreaWidgetContents_breast есть порядка 15-20 'QLineEdit' и 5-10 'QComboBox'
при обходе элементов формы по нажатию 'Enter' использую ...

  1. void DocReportEcho::keyPressEvent(QKeyEvent *event)
  2. {
  3. if(event->key()==Qt::Key_Return || event->key() == Qt::Key_Enter)
  4. this->focusNextChild();
  5. }

... необходимо реализовать автоматическую прокрутку к элементам которые находятся вне зоны видимости в 'scrollArea_breast' .
Как можно реализовать прокрутку к элементам находящимся вне видимости 'scrollArea_breast' .
Заранее спасибо и надеюсь что доступно объяснил суть проблемы.

1

Вам это нравится? Поделитесь в социальных сетях!

1
AC
  • 30 апреля 2022 г. 13:17
  • (ред.)
  • Ответ был помечен как решение.

Отвечаю сам на свой вопрос. Кому интересно:
к примеру в scrollArea_organs_internal есть элементы QLineEdit = spleen_parenchyma (при обходе элементов формы данный элемент находится в зоне видимости) и organsInternal_concluzion (элемент не находится в в зоне видимости)

  1. void DocReportEcho::keyPressEvent(QKeyEvent *event)
  2. {
  3. if(event->key()==Qt::Key_Return || event->key() == Qt::Key_Enter){
  4. this->focusNextChild();
  5.  
  6. if (ui->stackedWidget->currentIndex() == page_organs_internal){
  7. if (ui->spleen_parenchyma->hasFocus())
  8. ui->scrollArea_organs_internal->ensureWidgetVisible(ui->organsInternal_concluzion); // organsInternal_concluzion - в зоне видимости
  9. }
  10. }
  11. }

Надеюсь кому нибудь будет полезно.

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь