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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Фокус и вложенные контролы  (Прочитано 5732 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« : Май 03, 2011, 14:13 »

SomeControl.qml
Код:
Rectangle {
  Rectangle {
    id: rec_0
    KeyNavigation.right: rec_1
  }
  Rectangle {
    id: rec_1
    KeyNavigation.left: rec_0
  }
}
SomeClass.qml
Код:
Rectangle {
  Rectangle {
    id: rec_0
    KeyNavigation.right: someControl
    KeyNavigation.left: rec_1
  }

  SomeControl {
    id: someControl
    KeyNavigation.right: rec_1
    KeyNavigation.left: rec_0
  }


  Rectangle {
    id: rec_1
    KeyNavigation.left: someControl
    KeyNavigation.right: rec_0
  }
}

Как правильно заставить работать фокус?
Внесение в SomeControl.qml
Код:
onFocusChanged: {
rec_0.focus = true;
}
Немного помогает, но при попадании фокуса в SomeControl.qml, выделяется всегда rec_0, не зависимо от того, с какой стороны передан фокус. В общем, что-то я не воткну никак в фокусы в QML.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
twp
Гость
« Ответ #1 : Май 03, 2011, 19:51 »

так должно работать
Код:
FocusScope {
   Rectangle {
     Rectangle {
       id: rec_0
       KeyNavigation.right: rec_1
     }
     Rectangle {
       id: rec_1
       KeyNavigation.left: rec_0
     }
  }
}
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Май 03, 2011, 20:24 »

Хм. Так я не пробовал. Завтра проверю, спасибо.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Май 04, 2011, 11:56 »

Не помогло. Грустный
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
twp
Гость
« Ответ #4 : Май 04, 2011, 12:56 »

вот небольшая демка, в ней происходит переход фокуса во вложенных элементах. Единственное я не смог добиться чтоб обход вложенных элементов происходил всегда. А так он происходит только при смене направления обхода.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Май 04, 2011, 13:15 »

Мда... С фокусом у QML все плохо.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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