Я использую
Но с помощью
Если я нажмет вкладку focus, передается на кнопку
Я также пробовал с фокусом силы, но никаких результатов.
Это main.qml
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.12
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
RowLayout{
anchors.fill: parent
Button{
id: button1
text: "Button1"
focus: true
}
Button{
text: "Button2"
onClicked: {
button1.forceActiveFocus()
}
}
Button{
text: "Button3"
}
}
}
Я пытаюсь получить это, когда окно началось:
1 ответ
Имущество, которое позволяет выделить, составляет {{x0} }, и если документы рассмотрены:
VisualFocus: Bool [только для чтения]
Это свойство удерживает, имеет ли элемент управления Visual Focus. <сильный> это Свойство верно, когда управление имеет активное внимание и фокус Причина является либо Qt.tabfocusreason, Qt.backtabfocusreason или Qt.shortcutfocusreason.
В целом, для визуализации основного фокуса это свойство предпочтительно по сравнению с пунктом :: ActiveFocus. Это гарантирует, что основной фокус визуализируется только при взаимодействии с ключами - не при взаимодействии через прикосновение или мышь.
Смотрите также фокус измену и статьей :: ActiveFocus.
(курсив мой)
Итак, вы должны использовать forceActiveFocus()
/ a> Но прохождение одной из причин указано, потому что если вы не передаете аргументы, причина является Qt :: Otherfocuseasreason, как документы оказывают:
Это перегруженная функция.
Усиливает активное внимание на предмете с указанной причиной.
Этот метод устанавливает фокусировку на элементе и гарантирует, что все объекты фокусов предков в иерархии объекта также имеют фокус.
Этот метод был введен в Qt 5.1.
Смотрите также ActiveFocus и Qt :: Focuseion.
Заставляет активное сосредоточиться на предмете.
Этот метод устанавливает фокусировку на элементе и гарантирует, что все объекты фокусов предков в иерархии объекта также имеют фокус.
Причиной изменения фокусировки будет Qt :: Otherfocuseusreason . Использовать перегруженный метод для уточнения причина фокусировки, чтобы позволить лучше Обработка изменения фокуса. Смотрите также ActiveFocus.
(курсив мой)
Итак, решение таково:
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
RowLayout{
anchors.fill: parent
Button{
id: button1
text: "Button1"
}
Button{
text: "Button2"
}
Button{
text: "Button3"
}
}
Component.onCompleted: button1.forceActiveFocus(Qt.TabFocusReason)
}
Похожие вопросы
Новые вопросы
qt
Qt - это кроссплатформенная среда разработки приложений, широко используемая для разработки прикладного программного обеспечения, которая может работать на различных программных и аппаратных платформах с минимальными изменениями в базовом коде или без таковых, при этом обладая мощью и скоростью собственных приложений. Qt доступен как с коммерческими, так и с открытыми лицензиями.