AC
April 28, 2022, 3:12 p.m.

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

QScrollArea

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

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

void DocReportEcho::keyPressEvent(QKeyEvent *event)
{
    if(event->key()==Qt::Key_Return || event->key() == Qt::Key_Enter)
        this->focusNextChild();
}

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

1

Do you like it? Share on social networks!

1
AC
  • April 30, 2022, 1:17 p.m.
  • (edited)
  • The answer was marked as a solution.

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

void DocReportEcho::keyPressEvent(QKeyEvent *event)
{
    if(event->key()==Qt::Key_Return || event->key() == Qt::Key_Enter){
        this->focusNextChild();

        if (ui->stackedWidget->currentIndex() == page_organs_internal){
            if (ui->spleen_parenchyma->hasFocus())
                ui->scrollArea_organs_internal->ensureWidgetVisible(ui->organsInternal_concluzion); // organsInternal_concluzion - в зоне видимости
        }
    }
}

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

    Comments

    Only authorized users can post comments.
    Please, Log in or Sign up
    • Last comments
    • AK
      April 24, 2025, 12:04 p.m.
      UPD: Переписал логику воспроизведения через стороннюю библиотеку BASS. Там выбрать можно
    • Evgenii Legotckoi
      April 16, 2025, 5:08 p.m.
      Благодарю за отзыв. И вам желаю всяческих успехов!
    • IscanderChe
      April 12, 2025, 5:12 p.m.
      Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
    • AK
      April 1, 2025, 11:41 a.m.
      Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
    • Evgenii Legotckoi
      March 9, 2025, 9:02 p.m.
      К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…