Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация смены фокуса по кругу.
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
Ponchikus
Здравствуйте, прошу помощи в реализации смены фокуса виджета по-кругу, путем нажатия клавиши клавиатуры.

Есть виджет, в нем фильтром отлавливаю событие нажатия клавиши, вот пример:
bool Add::eventFilter(QObject *o, QEvent *e)
{
    if(o==bb || o==lines)
    {
        if(e->type()==QEvent::KeyPress)
        {
            QKeyEvent *ke=static_cast<QKeyEvent*>(e);
            if(ke->key()==Qt::Key_J)
            {
                focusNextChild();
                return true;

            }

        }
    }
    return QWidget::eventFilter(o,e);
}

Но фокус доходит до последнего виджета и все. А нужно чтобы фокус ходил по кругу. Пробовал всякие QWidget::focusNextPrevChild(bool next) и т.д. функции, но не получилось, как реализовать?

Спасибо!
Ponchikus
Проблема решена.
Надо было добавить на все виджеты installEventFilter(), цепочка виджетов была не полной и обрывалась, из-за чего фокус доходил до определенного виджета и на нем и оставался, всем спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.